Blog

[좋은 글] Jong Sup Kim – 부자의 언어 VS 빈자의 언어

<부자의 언어 VS 빈자의 언어> 테헤란로 건물주를 만날 기회가 있었다. 벌써 5년도 넘은 일이지만 그날 일이 생생하다. 이른 나이에 IT 업계로 뛰어들어 큰 업적을 이루신 기업의 회장님이셨다. 미팅은 30분 정도로 짧았다. 미팅 장소는 빌딩의 회장실이었는데 창문 너머로 삼성동 현대백화점 옥상이 보였던 기억이 난다. 항상 테헤란로를 걸어 다녔는데 내겐 낯선 광경이었다. 비서의 배려로 회장실 소파에서 그분을…

[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 configDuplication –> inefficiencyLarge sizes –> long boot timesMore stuff –> larger attack surface Disentangle applications from the OSBreak up OS functionality into modular librariesLink only the system functionality your app needsTarget alternative platforms from a single codebase Unikernels Unikernels are specialized virtual…

[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 software architecture that develops…

[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: KubernetesContainer orchestrationBuilds on Docker containersMultiple cloud and bare-metal environmentsSupports existing OSS appsInspried and informed by Google’s experiences and internal systems100% open source, written in…

[Virtualization] Container

Are VMs fit for (All) Today’s (Cloud) usages? Performance overhead of indirections (guest OS and hypervisor)Large memory footprintSlow startup timeLicense 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 once… run anywhere (dependencies,…

[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 PTEHypervisor doesn’t have chance to…

[Virtualization] Virtualizing CPU (x86)

x86 Difficulties Not all sensitive instructions are privileged with x86, i.e., non-virtualizable processorThese 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., Xen)Change hardware: add…

[Virtualization] Background and Virtualization Basics

Typical OS Structure OS Functionalities vs Virtualized Functionalities OS FunctionalitiesVirtualized 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 resourcesOS protects programs from other programs (OS…

[Virtualization] Introduction

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

[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 to…

[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 & then,…

[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 emptyremove a node ninfo_in will be map of sets of incoming informationinfo_out will be…

Loading…

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