일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Compression
- stl
- HA
- Semiconductor
- jhDNN
- dnn
- 양자역학의공준
- 쿠버네티스
- Qubit
- CUDA
- flash_memory
- FPGA
- 클라우드
- quantum_computing
- 딥러닝
- jhVM
- 반도체기초
- cloud
- 반도체
- kubernetes
- nvidia
- convolution
- deep_learning
- DRAM
- sycl
- POD
- GPU
- C++
- SpMM
- CuDNN
- Today
- Total
목록cloud (9)
Computing
Pod 배포 케이스 앞선 포스터에서 Pod란 무엇인지에 대해서 간략히 정리하였다. 파드는 쿠버네티스에서 배포되는 가장 작은 컴퓨팅 단위이다. 개발자가 애플리케이션을 파드 단위로 개발하고, 이 쿠버네티스에게 파드들 실행(배포)을 명령한다. 이 명령은 선언적 방식으로, 이 파드의 배포는 어떻게 이루어져야 하는 지를 개발자가 구성 파일로 작성한다. 쿠버네티스는 그 파일을 읽어 그 구성대로 클러스터 내에 효율적으로 파드들을 배포한다. 앞선 포스터에서 파드 하나만을 생성하는 yaml 파일(구성 파일, Manifest)에 대해서 정리하였다. 쿠버네티스는 yaml 파일에 정의된 방식으로 파드를 생성하고 그것을 클러스터 내의 임의 노드에 스케쥴링한다. 파드가 스케쥴링된 노드는 해당 파드를 실행한다. 파드 생성을 위한 ..
Pod 개념 Pod(파드, 포드, 팟)는 쿠버네티스가 생성하고 관리하는 가장 작은 컴퓨팅 단위[1]이다. 파드는 한 개 이상의 리눅스 컨테이너로 구성되며, 애플리케이션(의 인스턴스)이 실행되는 논리적 호스트(컴퓨터)[2]라고 생각할 수도 있다. 파드는 물리 컴퓨터인 쿠버네티스 워커노드에 배치되어 실행되는데, 쿠버네티스의 목적이 바로 파드들을 안정적이고 효율적으로 클러스터 내에서 실행시키는 것이다. 애플리케이션은 하나의 프로세스(컨테이너, 파드)로 만들어질 수도 있지만, 여러 개의 프로세스(컨테이너)로 구성될 수도 있다. 특히 요즘은 마이크로서비스 아키텍처라고 해서, 대규모 애플리케이션을 작은 소규모 프로세스로 분리해서 개발하는 경우가 많아지고 있다. 블로그를 만들때도, 기본적으로 웹서버, DB, 웹 애플..
이전글 - [jhVM][1] virt-manager, CentOS 7 qcow2 image (root password, 용량 설정 등) - [jhVM][2] CentOS 7 user 추가(sudo 권한 부여), 가상머신 네트워크 설정 및 virbr0(static internal IP 부여) - [jhVM][3] ssh 로그인 설정(비번 없이 로그인), qcow2 복사(VM 복제) - [jhKube][1] Kubernetes와 Linux Container 간단 정리 - [jhKube][2] Kubernetes architecture 및 설치 방법 간단 정리 - [jhKube][3] kubeadm을 통한 쿠버네티스 클러스터 설치 (CentOS7, 가상머신 환경, cri-docker) 이전 글에 이어 Cent..
이전글 - [jhVM][1] virt-manager, CentOS 7 qcow2 image (root password, 용량 설정 등) - [jhVM][2] CentOS 7 user 추가(sudo 권한 부여), 가상머신 네트워크 설정 및 virbr0(static internal IP 부여) - [jhVM][3] ssh 로그인 설정(비번 없이 로그인), qcow2 복사(VM 복제) - [jhKube][1] Kubernetes와 Linux Container 간단 정리 이전 글에 이어 CentOS 7 가상머신들을 이용한 쿠버네티스 환경 구축 과정에서 배운 내용을 정리하고자고 한다. jhVM 시리즈에서 가상머신 환경 구축은 끝났으니, 본격적으로 쿠버네티스를 설치해보려 한다. 공부 중인 단계에서 정리하는 글이기에..
File System 파일 시스템은 컴퓨터 저장장치(HDD, SSD)에 파일(=데이터)을 어떻게 저장하고 읽어올지를 담당하는 OS의 함수와 자료구조를 가리킨다[3]. 우리가 데이터를 컴퓨터에 저장할 때, 데이터를 파일의 형태로 저장하고 이들을 디렉토리(directory) 구조로 배치하여 관리한다. 이러한 계층적 구조를 통해 사람들은 쉽게 데이터를 저장하고 읽어올 수 있다. 파일 시스템의 특징은 데이터를 파일(opaque data type이라고도 한다)의 형태로 저장한다는 것이다. 파일은 실제 저장되는 데이터뿐만 아니라, 데이터의 주인은 누구이고, 언제 생성되었으며, 크기는 얼마인지 등에 대한 메타데이터(Metadata, data를 관리하기 위한 data)를 함께 저장한다. 또한 앞서 말했듯, 디렉토리라는..
가상머신(Virtual machin, VM)이 하이퍼바이저의 도움없이도 호스트에 설치된 I/O 디바이스(ex. GPU, NIC, etc.)에 직접 접근할 수 있는 기술을 Pass-through라고 한다. 이들 중 PCI 디바이스에 대한 VM의 직접 접근 기술을 PCI Pass-through라고 한다. PCI 디바이스의 경우 성능이 중시되는 기능에서 사용되는 경우(network, GPGPU 등)가 많은데, 따라서 DMA 기능, PCI 디바이스에 대한 배타적인 사용이 필요한 경우가 있다. 이번 포스터에서는 Pass-through와 그것을 가능하게 하는 VFIO(Virtual Function I/O[1]) framework에 대해서 정리하고자 한다. Device Emulation vs Pass-through ..
AWS, GCP, AZURE, NCLOUD 등의 클라우드 서비스를 사용하게 될 경우, 네트워크로 연결되는 스토리지 서비스를 사용하게 된다. 스토리지 서비스는 크게 Block storage, File storage, Object Storage 3가지 concept으로 분류된다. AWS의 경우를 보면, AWS는 S3(오브젝트), EBS 스토리지(블록), EFS(파일)로 스토리지 서비스를 제공한다. Fig 1.은 3가지 concept의 스토리지에서 어떻게 데이터를 관리하는 지를 잘 나타내는 그림이다. 이번 포스터에서는 3개가지 Storage system의 concept에 대해서 비교, 정리하고자 한다. 결론부터 말하자면, 각 파일, 블록, 오브젝트 개념은 서비스를 어떻게 사용자에게 제공할지(어떤 데이터 형태로..
Overview libvirt[1]는 virtualization platforms을 관리하기 위한 도구로, RedHat에서 만든 open source 프로젝트이다. 쉽게 생각하자면, Qemu-KVM, Xen, VMware 등 다양한 hypervisor들 작동시키기 위한 통합 API라고 생각하면 좋다. 이 API 하나만으로도 여러 hypervisors 및 그들에 의해 생성된 여러 virtual machine(VM)s을 조작할 수 있다. 가상화 소프트웨어에는 QEUM-KVM, Xen, LXC, OpenVZ, VirtualBox, VMware 등 여러 가지가 있다. 이들을 이용해 VM을 생성, 운용, 삭제하고자 할 때에는 각자의 소프트웨어에 맞는 API, CLI 등을 사용하여야 한다. 따라서 여러 가상화 소프..