목록전체 글 (26)
박사라이팅

How can we help users get access to relevant items?(어떻게 하면 사람들이 관련된 항목에 쉽게 노출될 수 있을까?)추천시스템이란?사용자 개인에게 맞춤형 아이템이나 정보를 자동으로 제안하는 기술이 기술은 넷플릭스, 인스타그램 등 다양한 어플리케이션에 적용되고 있음. 예를 들어, 넷플릭스는 소비자가 흥미로워할 만한 영화나 드라마를 추천 목록에 노출시켜 소비자가 관심 있는 작품을 선택하도록 유도함. 이는 소비자에게는 새로운 콘텐츠를 발견할 수 있는 기회를 제공하고, 넷플릭스에는 고객 확보라는 이점을 가져옴. 그러나 개인에게 최적화된 아이템을 추천하는 것은 쉬운 과제가 아님. 소비자가 아직 보지 않은 아이템, 좋아할 가능성이 높은 아이템, 주변 친구들이 많이 본 아이템 등..

CXL Switch란??CXL protocol을 기반으로 여러 CXL device와 host를 연결하는 HW device임. PCIe switch와 유사하지만, CXL의 cache coherency와 memory expander을 지원하는 기능이 추가됨. Host와 Device간의 연결을 Virtual port로 연결함. 여러 Host는 각자의 Address Space를 가지고 있으며, CXL device는 Single Logical Device (SLD), Multi Logical Device (MLD)로 되어 있음. PCIe Device도 사용 가능. 대신에 CXL protocol이 아닌 PCIe protocol을 사용. SLD는 하나의 physical device가 단일의 logical device..

CXL type-3 device는 memory expander처럼 cxl.io와 cxl.mem protocol만 가능한 cxl device임. Host to Device Config/MMIO Access다른 점은 Direct Memory Access (DMA)가 device에 없음. 왜??? 당연히, Memory Expander와 같은 type-3 device에서는 device to host access가 없기 때문임. 또 Device Attached Memory (DAM)은 Host에서 cacheable한 memory임. PCIe와 다름. 왜??? PCIe Deivce는 cache coherency를 보장하지 않음. CXL은 보장하기 때문에 가능함. 먼저 Base Address Register가 있는 ..

PCIe Device가 Host Processor와 communication하는 절차를 설명하고자 함. Private Device Memory가 없을 때, 상황을 설명.Host to Device Config/MMIO AccessHost Processor가 Device의 Config/MMIO space에 접근함. 이 때, PCIe Transaction 사용. BAR (Base Address Register)을 사용하여, MMIO space에 접근. 정리하자면, 이 PCIe Transaction을 통한 Host to Device Access로, Device의 Config Space와 MMIO space에 communication함. Device to Host MMU AccessDevice가 Host에 Acc..

CXL protocolCXL protocol에는 3가지가 있음. CXL.io, CXL.cache, CXL.mem으로 각자 역할이 다름. CXL.io은 PCIe기반으로 device discovery, status reporting, virtual to physical address translation, direct memory access (DMA)에 사용됨. CXL.cache는 device가 system memory를 caching할 때 사용됨. CXL.mem은 CPU와 다른 CXL device가 device memory을 cachable memory (HDM)처럼 접근할 때 사용됨. 하나의 host memory처럼 보임. CXL type Type-1은 smart NICs와 같은 가속기를 말함. PC..

CXL (Compute Express Link) 이전에는 PCIe (Peripheral Component Interconnect Express)를 사용하여, GPU, GP-GPUs, FPGA 등의 다양한 가속기와 storage를 연결하여 사용하였음. DDR (Double Data Rate)로 CPU와 연결해서 병렬 인터페이스를 사용했었음. 하지만, 광범위한 종류 및 개수의 device를 관리하기에는 한계가 있음. 아래가 몇 가지 한계점임.Challenge 1 : Coherent Access to System and Device Memory 이전에는 DDR를 통해, System memory가 사용되고, CPU cache 계층적 구조로 캐싱이 가능하였음. 반대로, PCIe device에서 system mem..

CXL에서는 여러 Layer가 Data Packet을 송신 및 수신하여 분해, 오류 검증을 단계별로 진행함. CXL Transaction Layer에서는 managing 담당.CXL Link Layer에서는 Transaction를 받고 flit으로 바꿈.CXL ARB/MUX Layer에서는 .io, .cache, .mem 프로토콜 통합.Flex Bus Physical Layer에서는 flit을 송신 및 수신. Transaction LayerCXL.io (IO side) 지원하여 ATS extension, Deferred Writes, Vendor Defined Message등 CXL 성능을 높임.CXL.mem, CXL.cache (Cache & Mem side) protocol 지원함.처음부터 끝까지, ..

CXL (Compute Express Link)란? 고성능 컴퓨팅 시스템에서 processor와 다양한 device(가속기, memory expansion, smart I/O device) 간의 표준화된 high-speed interconnect주로 PCIe 기반 (PCIe 5.0이며 32.0 GT/s, 64.0 GT/s의 data 전송 속도를 가지는 x16, x8, x4 link width를 제공)CXL에서 사용하는 중요한 3가지 protocol CXL의 transaction layer에서는 3가지 protocol 제공 CXL.io PCIe 5.0기반으로 device를 발견 Configuration 진행 초기화 진행 CXL.cache ..

c++코딩하는 중에 착오가 있어서 초기화가 제대로 되지 않았다. int max_index_list[TLB_SET] = {0}; int min_index_list[TLB_SET] = {0}; c++에서 배열을 선언함과 동시에 모든 값을 위와 같이 0으로 초기화가 가능하다. 하지만 코드를 선언하고 사용한 뒤에 다시 초기화 할 때면 아래와 같은 방법으로는 사용할 수 없다. max_index_list[TLB_SET] = {0};min_index_list[TLB_SET] = {0}; 이러면 초기화가 안된다...... 이래서 이상한 데이터로 분석하고 있었음.... 이미 선언한 배열을 초기화 하려면 std::fill이나 memset을 사용하면 된다. std::fill(max_index_list, ..
ssh 원격으로 서버 컴퓨터에 잘만 접속하다가, 갑자기 위 (Failed to parse remote port from server output) 에러가 뜨면서 연결이 안되는 문제가 발생하였다. 도대체 뭐지???? 신기하게도 vscode로 ssh 연결할 때에만 안되고, MobaXterm으로 할 때에는 가능했다. 예상되는 원인은 vscode가 업데이트 되면서 서버 컴퓨터에 ~/.vscode-server 내용과 버전이 불일치 되는 것이라 판단된다. vscode로 ssh 호스트 연결할 때 어차피 ~/.vscode-server는 자동으로 만들어 주기 때문에 해당 폴더를 삭제하고 재접속하였다. rm -rf ~/.vscode-server 그러더니 재접속 성공!! vscode 잘만 되다가 안된다 싶으면 위 ..