Blog

[Deep Learning] Self-Supervised Learning

The motivation is quite straightforward. Producing a dataset with clean labels is expensive but unlabeled data is being generated all the time. To make use of this much larger amount of unlabeled data, one way is to set the learning objectives properly so as to get supervision from the data itself. The self-supervised task, also known […]

[투자] 미국 증시

S&P 500 미국의 신용평가회사 Standard & Poor’s 에서 개발한 미국의 주가지수. 다우존스, 나스닥과 더불어 미국의 3대 주가지수이며, 실질적으로 미국을 대표하는 주가지수이다. 1957부터 시작 –> 1982에 재산출 기존에는 누욕증권거래소 종목에서 대형주를 추렸으나, 나스닥 출범 이후 나스닥 대형주도 포괄 다우 존스 미국의 Dow Jones에서 발표하는 주가지수. 세계 경제를 대표하는 기업들이 많이 포함되어 있다. 1884에 시작 오늘날 다우지수는 […]

[투자] ETF

ETF는 Exchange Traded Fund의 약자.상장 개방형 펀드 또는 단위 투자신탁. 주로 주가지수나 채권가 지수 등 특정 지수를 추종한다. 기초 자산이 오르면 ETF 가격도 올라가고 떨어지면 그만큼 떨어진다. 인버스는 주식 시장이 하락할 때 수익을 얻을 수 있다. 이 원리는 공매도 등을 통해서 가능한 것… 레버리지는 등락룰에 수치를 곱해서 리스크와 수익룰을 높이는 것이다. 인버스 레버리지는 증시 하락의 […]

[Computer Systems] Storage

Storage Area Network (SAN): 서버 용량이 부족할 때 디스크를 물리적으로 추가하는 불편함을 해소하기 위해 SAN 고안. 스토리지를 네트워크에 연결해서 logical volume을 형성. 사용자는 LUN (Logical Unit Number)라는 고유번호로 디스크 드라이브에 연결. SAN Switch 필요. Block 단위로 저장. SAN Storage Protocol: iSCSI, Fibre Channel, iSER (iSCSI Extensions for RDMA)– Fibre Channel: Gigabit speed (up to 128Gbps), […]

[Virtualization] Library OS

Why build for clouds as we do for desktops? More layers –> tricky config Duplication –> inefficiency Large sizes –> long boot times More stuff –> larger attack surface Disentangle applications from the OS Break up OS functionality into modular libraries Link only the system functionality your app needs Target alternative platforms from a single […]

[Virtualization] Serverless Computing

Serverless Computing Computing without servers? Running applications without the need to manage servers? Running functions instead of containers/VMs? Infinite scaling? The truth: no clear, agreed definition, i.e., no one really knows One Perspective: How Cloud and Virtualization Evolved Decreasing concern (and control) over stack implementation, Increasing focus on business logic A Related Topic: Microservice A […]

[Virtualization] Kubernetes and gVisor

Kubernetes We need more than just packing and isolation: Scheduling, Lifecycle and health, Discovery, Monitoring, Auth{n,z}, Aggregates, Scaling, … Everything at Google runs in containers: Gmail, Web Search, Maps, … Open Source Containers: Kubernetes Container orchestration Builds on Docker containers Multiple cloud and bare-metal environments Supports existing OSS apps Inspried and informed by Google’s experiences […]

[Virtualization] Container

Are VMs fit for (All) Today’s (Cloud) usages? Performance overhead of indirections (guest OS and hypervisor) Large memory footprint Slow startup time License and maintenance cost of guest OS Do we really need to virtualize hardware and a full OS? What about DevOps? Why does it work? Separation of concerns Why people care? Developers: Build […]

[Virtualization] Virtualizing Memory

TLB Miss Flow with software-Managed TLB Without virtualization: Extract VPN from VA, VPN-PFN mapping… With virtualization: Extract VPN from VA, VPN-PFN mapping (handled by VMM to be VPN-MFN mapping)… Difficulty in Virtualizing Hardware-Managed TLB Hardware-managed TLB– Hardware does page table walk on each TLB miss and fills TLB with the found PTE Hypervisor doesn’t have […]

[Virtualization] Virtualizing CPU (x86)

x86 Difficulties Not all sensitive instructions are privileged with x86, i.e., non-virtualizable processor These instructions do not trap and behave differently in kernel and user mode Possible Solutions Emulate: interpret each instruction, super slow (e.g., Virtual PC on Mac) Binary translation: rewrite non-virtualizable instructions (e.g., VMware) Para-virtualization: modify guest OS to avoid non-virtualizable instructions (e.g., […]

[Virtualization] Background and Virtualization Basics

Typical OS Structure OS Functionalities vs Virtualized Functionalities OS Functionalities Virtualized Functionalities – Process management– Virtual memory system– File and storage system – Networking– Other I/O systems– Command-interpreter system – Virtualize sensitive instructions– Virtualized physical memory– Virtual disk – Virtual network interface– Other virtualized I/O systems– Command-interpreter system Dual-Mode Operation OS manages shared resources OS […]

[Virtualization] Introduction

Why study virtualization? Almost all cloud applications run in the virtualization environment Most IT infrastructures run in the cloud or on-prem virtualization environment Understanding virtualization is key to building cloud infrastructures Understanding virtualization will help application design Operating Systems A piece of software that manages and virtualizes hardware for applications– An indirection layer between applications […]

[Algorithms] Dynamic Programming

Steps Input & OutputHigh level description: base case + inductionComplexity: how much each step cost + how many stepsProof: base case + induction Famous Problems

[Algorithms] Network Flow

Steps Constraints: restate question requirementsFormulation: (1) draw flow graph, (2) nodes, (3) edges, (4) capacitiesSolution: the requirement for the max-flowComplexity/Algorithm: what algorithm is used + the corresponding complexityCorrectness: restate the formulation with the implications Terms Residual Graph: a graph with some flowAugmenting Path: a path from s to t Algorithms for Max-Flow Ford-Fulkerson– Calculate C […]

[좋은 영상] 세바시, 대통령이 꿈이었던 내 친구 ‘윤창호’가 세상을 바꾸는 방식 – 김민진 (故윤창호 친구)

제 친구가 마지막으로 저에게 남겨준 깨달음 하나를 그 메세지 하나를 여러분들께 전달 드리고자 오늘 이곳에 왔습니다. “국회의원이 아니어도 대통령이 아니어도 어린아이든 노인이든 우리는 누구나 세상을 바꿀 수 있습니다.” … “그치만 딱 하나 내가 노력하면 바꿀 수 있는게 있습니다. 그건 바로 내가 사는 세상입니다. 이 큰 세상을 한꺼번에 바꿀 수 없지만 내가 살아가는 세상 만큼은 내 […]

[미국 생활] Curricular Practical Training (CPT)

https://ispo.ucsd.edu/current-students/working-in-usa/f1-working/curricular-practical-training.html Step 1: Ensure Eligibility… OKAY Step 2: Obtain a Job Offer… COMPANY SEND AFTER SIGNING SOME DOCUMENTS– Company logo/letterhead– Description of the training program– Location– Name, address and phone number of supervisor– Salary– Number of hours per week– Dates of the training (Summer 2019: June 15 – September 25) Step 3: Enroll into a […]

[Machine Learning] Clustering Algorithms

K-means Clustering O(n)? so relatively fast?“K” needs to be determined.Different result every time depending on initial points. Mean-shift Clustering Looks for cluster by using a sliding window and recalculating mean to be the new centroid and window (centroid based).Some of the windows are removed in the post processing process. No need to select “K”“r” needs […]

[Papers] Halide: A language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines

Halide DSL describes image processing pipelines in a simple functional style.– Scheduling representation composably models a range of tradeoffs between locality, parallelism, and avoiding redundant work.– Split representation separates schedules from the underlying algorithm. – Arithmetic and logical operations, loads from external images, if-then-else expressions, references to named values, calls to other functions including external […]

[Compilers] Interprocedural Analysis

Cost of procedure calls Without interprocedural analysis, make the flow function for call nodes return TOP. –> loss of precision (“lost-precision” cost) / indirect costCalls incur cost of return, argument & result passing, stack frame maintenance. –> “direct runtime” cost / direct cost Ways to address Get rid of calls using inlining and other techniques.– […]

[Compilers] Alias Analysis

Alias Analysis Also called points-to analysis (alias: two expressions that denote the same memory location)Can be used to improve the precision of analysis that require knowing what is modified and referenced (e.g. constant prop, common subexpression elimination) Intraprocedural analysis Could build a simple algorithm that just creates list where each node denotes slice in memory… […]

[Compilers] Program Representations

Program Representations Goals– Make analysis easy and effective– Make transformation easy to perform– General across input languages and target machines – Compact in memory– Easy to translate and form– Tracks information from source through to binary, from source-level debugging, profiling, typed binaries– Extensible and displayable Components– Control dependencies: sequencing of operations; evaluation of if & […]

[Compilers] Lattices

Relations Reflexive: a R a, equal to itself…Transitive: a R b ^ b R c –> a R cSymmetric: a R b –> b R aAnti-symmetric: a R b –> ㄱ(b R a) (causes to be not reflexive) a R b ^ b R a –> a = b Equivalence class: reflexive & transitive & symmetricPartial order: reflexive & transitive […]

[Reinforcement Learning] Setting up MuJoCo with OpenAI Gym

Some details need more research, but works for now! MuJoCo is a advanced physical simulation tool, developed by Emo Todorov for Roboti LLCmujoco-py is a glue to let people use MuJoCo in python, developed by OpenAI Robotics teamOpenAI Gym is a modular python package to provide environments for RL, developed by OpenAI Install MuJoCo Get […]

[Compilers] Dataflow Analysis

A common framework for expressing algorithms that compute information about a program. Control Flow Graph Each statement becomes a nodeEdges between nodes represent control flow Dataflow Analysis Worklist Algorithm Initialize all d to empty set… add nodes to worklist… while worklist is not empty remove a node n info_in will be map of sets of […]

[Compilers] Introduction and Common Optimizations

Compiler Parser: Builds AST from stringOptimizer: Transform the program to make it betterCodeGen: Transforms from compiler representation to assembly or machine code Optimizer Compute information about a program + Use that information to perform program transformations Representations Abstract Syntax Tree Control Flow Graph Dataflow Graph Static Single Assignment Control Dependence Graph Program Dependence Graph Call […]

Loading…

Something went wrong. Please refresh the page and/or try again.