KR102442118B1 - 유니커널을 이용하는 원격 직접 메모리 접근 기반 파일 입출력 오프로드 방법 및 장치 - Google Patents
유니커널을 이용하는 원격 직접 메모리 접근 기반 파일 입출력 오프로드 방법 및 장치 Download PDFInfo
- Publication number
- KR102442118B1 KR102442118B1 KR1020190086140A KR20190086140A KR102442118B1 KR 102442118 B1 KR102442118 B1 KR 102442118B1 KR 1020190086140 A KR1020190086140 A KR 1020190086140A KR 20190086140 A KR20190086140 A KR 20190086140A KR 102442118 B1 KR102442118 B1 KR 102442118B1
- Authority
- KR
- South Korea
- Prior art keywords
- file
- output
- input
- file input
- unikernel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000006870 function Effects 0.000 claims abstract description 42
- 239000013598 vector Substances 0.000 claims description 88
- 230000004044 response Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 239000000284 extract Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001152 differential interference contrast microscopy Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
Description
도 1은 본 발명의 실시 예에 따른 파일 입출력 오프로드 장치(10)를 예시적으로 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 입출력 오프로드 장치(10)의 유니커널에서 리눅스 및 파일 서버(200)로 파일 입출력 오프로드(IO Offload)하는 과정을 예시적으로 보여주는 래더 다이어그램이다.
도 3은 본 발명의 실시 예에 따른 유니커널 시스템(100)의 유니커널(110)에서 리눅스(120)로 파일 입출력 오프로드 정보를 전송하는 과정을 예시적으로 보여주는 도면이다.
도 4는 본 발명의 실시 예에 따른 유니커널의 응용 프로그램에 의한 읽기 동작에 대한 파일 입출력 오프로드 과정을 예시적으로 보여주는 도면이다.
도 5는 본 발명의 실시 예에 따른 유니커널의 응용 프로그램에서 리눅스에 파일 입출력을 오프로드하고 파일 서버를 통하여 파일 입출력하는 과정을 예시적으로 보여주는 흐름도이다.
도 6은 본 발명의 실시 예에 따른 유니커널과 리눅스/파일 서버에 파일 입출력 오프로드를 수행하기 위한 파일 입출력 오프로드 장치(10)를 좀 더 자세하게 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 전자 장치(1000)를 예시적으로 보여주는 도면이다.
100: 유니커널 시스템
110: 유니커널
111: 응용 프로그램
112: IO 벡터 생성부
113: 파일 입출력 정보 생성부
114: 파일 입출력 오프로드 요청 송신부
115: 파일 입출력 오프로드 결과 수신부
120, 220: 리눅스
121: 파일 입출력 오프로드 요청 수신부
122: 파일 입출력 함수 구성 및 호출부
123: IO 벡터 요청 송신부
124: IO 벡터 결과 수신부
125: 파일 입출력 오프로드 결과 송신부
200: 파일 서버
1000: 전자 장치
Claims (20)
- 유니커널을 이용하는 원격 직접 메모리 접근(Remote Direct Memory Access; RDMA) 기반 파일 입출력 오프로드 장치의 동작 방법에 있어서,
상기 유니커널의 응용 프로그램에서 파일 입출력 커널 함수를 호출하는 단계;
상기 파일 입출력 커널 함수에서 파일 입출력 정보를 생성하는 단계;
상기 유니커널에서 상기 파일 입출력 정보를 리눅스로 전송하는 단계;
상기 리눅스에서 상기 파일 입출력 정보를 이용하여 파일 입출력 함수를 구성 및 호출하는 단계; 및
상기 파일 입출력 함수에서 상기 파일 입출력 정보에 대응하는 파일 입출력 요청을 파일 서버로 전송하는 단계를 포함하고,
상기 파일 입출력 정보를 생성하는 단계는,
파일 입출력 버퍼에 대한 연속적인 물리 주소 구간을 추출하는 단계; 및
상기 추출된 물리 주소 구간에 대응하는 주소와 크기를 하나의 엘리먼트로 하는 집합인 IO 벡터를 생성하는 단계를 포함하고,
상기 파일 입출력 정보는 파일 입출력 명령, 파일 디스크립터, 상기 IO 벡터, 상기 IO 벡터의 엘리먼트 개수를 의미하는 벡터 카운트를 포함하는 것을 특징으로 하는 방법. - 삭제
- 제 1 항에 있어서,
상기 리눅스의 파일 입출력 프록시를 구동하는 단계를 더 포함하는 방법. - 제 3 항에 있어서,
상기 파일 입출력 프록시에서 상기 유니커널로부터 상기 파일 입출력 정보를 수신하는 단계를 더 포함하는 방법. - 삭제
- 제 1 항에 있어서,
상기 파일 입출력 요청을 파일 서버로 전송하는 단계는,
상기 리눅스의 파일 시스템 스텁에서 상기 IO 벡터의 개수에 대응하는 상기 입출력 요청을 상기 파일 서버로 전송하는 단계를 포함하는 방법. - 제 1 항에 있어서,
상기 리눅스에서 상기 파일 서버로부터 상기 파일 입출력 요청에 대한 결과를 수신하는 단계를 더 포함하는 방법. - 제 7 항에 있어서,
상기 파일 입출력 요청에 대한 결과가 성공일 때, 상기 리눅스에서 상기 유니커널로 상기 입출력 요청에 대한 결과를 전송하는 단계를 더 포함하는 방법. - 제 1 항에 있어서,
상기 파일 입출력 요청에 응답하여 상기 파일 서버의 데이터를 RDMA(Remote Direct Memory Access) 방식으로 상기 유니커널의 메모리로 입출력시키는 단계를 포함하는 방법. - 유니커널을 이용하는 원격 직접 메모리 접근(Remote Direct Memory Access; RDMA) 기반 파일 입출력 오프로드 장치의 동작 방법에 있어서,
파일 서버에서 유니커널 시스템의 리눅스로부터 파일 입출력 요청을 수신하는 단계;
파일 서버에서 상기 파일 입출력 요청에 대응하는 파일 정보를 파일시스템에서 추출하는 단계;
상기 파일 정보를 이용하여 비휘발성 메모리에서 데이터를 입출력하는 단계; 및
상기 입출력된 데이터를 RDMA 엔진을 통하여 상기 유니커널 시스템으로 전송하는 단계를 포함하고,
상기 리눅스는
상기 유니커널 시스템의 유니커널로부터 수신된 파일 입출력 정보에 대응하게 파일 입출력 요청을 전송하고,
상기 파일 입출력 정보는
파일 입출력 명령, 파일 디스크립터, 상기 유니커널의 파일 입출력 버퍼에 대한 연속적인 물리 주소 구간에 대응하는 물리 주소와 크기를 하나의 엘리먼트로 하는 집합인 IO 벡터, 상기 IO 벡터의 엘리먼트의 개수를 의미하는 벡터 카운트를 포함하는 것을 특징으로 하는 방법. - 제 10 항에 있어서,
상기 파일 서버에서 상기 유니커널 시스템의 리눅스로 상기 파일 입출력 요청에 대한 파일 입출력 결과를 전송하는 단계를 더 포함하는 방법. - 제 10 항에 있어서,
상기 파일 정보를 상기 파일 시스템에서 추출하는 단계는,
상기 파일 입출력 요청에 포함된 파일 디스크럽터에 대응하는 파일로부터 파일 명령을 수행하기 위한 상기 파일 정보를 추출하는 단계를 포함하는 방법. - 제 10 항에 있어서,
상기 파일 서버에서 상기 비휘발성 메모리의 상기 입출력된 데이터를 RDMA NIC로 복사를 명령하는 단계를 더 포함하는 방법. - 제 10 항에 있어서,
상기 RDMA 엔진은 상기 입출력된 데이터를 상기 유니커널 시스템의 유니커널의 물리 메모리로 RDMA 방식으로 전송하는 것을 특징으로 하는 방법. - 원격 직접 메모리 접근(Remote Direct Memory Access; RDMA) 기반 파일 입출력 오프로드 장치에 있어서:
적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서에 실행되는 유니커널 및 리눅스를 저장하는 메모리를 포함하고,
상기 유니커널은, 응용 프로그램에서 파일 입출력 커널 함수를 호출하고, 상기 파일 입출력 커널 함수에서 파일 입출력 정보를 생성하고; 상기 유니커널에서 상기 파일 입출력 정보를 리눅스로 전송하고,
상기 리눅스는 상기 파일 입출력 정보를 이용하여 파일 입출력 함수를 구성 및 호출하고; 및 상기 파일 입출력 함수에서 상기 파일 입출력 정보에 대응하는 파일 입출력 요청을 파일 서버로 전송하고,
상기 유니커널은,
파일 입출력 버퍼에 대한 연속적인 물리 주소 구간을 추출하고, 상기 추출된 물리 주소 구간에 대응하는 주소와 크기를 하나의 엘리먼트로 하는 집합인 IO 벡터를 생성하되,
상기 파일 입출력 정보는 파일 입출력 명령, 파일 디스크립터, 상기 IO 벡터, 상기 IO 벡터의 엘리먼트 개수를 의미하는 벡터 카운트를 포함하는 것을 특징으로 하는 파일 입출력 오프로드 장치. - 제 15 항에 있어서,
상기 리눅스는 파일 입출력 프록시를 구동하여 상기 파일 입출력 정보를 상기 유니커널로부터 수신하는 것을 특징으로 하는 파일 입출력 오프로드 장치. - 제 15 항에 있어서,
상기 리눅스는 상기 파일 입출력 정보를 이용하여 파일 디스크립터에 대응하는 파일에 대하여 IO 벡터 크기만큼 IO 벡터의 물리 주소로 입출력 명령을 상기 파일 서버로 전송하는 것을 특징으로 하는 파일 입출력 오프로드 장치. - 제 17 항에 있어서,
상기 리눅스는 입출력 명령에 대응하는 결과는 상기 파일 서버로부터 수신하는 것을 특징으로 하는 파일 입출력 오프로드 장치. - 제 17 항에 있어서,
상기 파일 서버로부터 상기 입출력 명령에 대응하는 데이터를 RDMA 방식으로 입출력하는 RDMA NIC(Network Interface Card)를 더 포함하는 것을 특징으로 하는 파일 입출력 오프로드 장치. - 제 15 항에 있어서,
상기 리눅스는 상기 파일 서버의 저장 장치에 대한 디바이스 드라이버로 이용되는 것을 특징으로 하는 파일 입출력 오프로드 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/582,597 US20200151118A1 (en) | 2018-11-12 | 2019-09-25 | Method and apparatus for offloading file i/o based on remote direct memory access using unikernel |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180138453 | 2018-11-12 | ||
KR20180138453 | 2018-11-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200054854A KR20200054854A (ko) | 2020-05-20 |
KR102442118B1 true KR102442118B1 (ko) | 2022-09-13 |
Family
ID=70919764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190086140A Active KR102442118B1 (ko) | 2018-11-12 | 2019-07-17 | 유니커널을 이용하는 원격 직접 메모리 접근 기반 파일 입출력 오프로드 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102442118B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102504274B1 (ko) * | 2020-06-08 | 2023-02-28 | 한국전자통신연구원 | 유니커널을 위한 파일 입출력 오프로드 가속 장치, 서버 및 방법 |
CN112667416B (zh) * | 2020-12-25 | 2024-02-27 | 华中科技大学 | 一种基于rdma的非易失内存系统的通信方法及服务器 |
KR102753900B1 (ko) | 2022-03-11 | 2025-01-14 | 성한 주식회사 | Ip 카메라 기반 원격점검 제어시스템 및 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060294234A1 (en) | 2005-06-22 | 2006-12-28 | Cisco Technology, Inc. | Zero-copy network and file offload for web and application servers |
JP5482230B2 (ja) | 2010-01-25 | 2014-05-07 | 富士通株式会社 | 通信装置、情報処理装置、通信装置の制御方法及び制御プログラム |
US20150006663A1 (en) | 2013-06-26 | 2015-01-01 | Cnex Labs, Inc. | NVM Express Controller for Remote Access of Memory and I/O Over Ethernet-Type Networks |
US20180027074A1 (en) * | 2016-07-22 | 2018-01-25 | 6Wind | System and method for storage access input/output operations in a virtualized environment |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100759816B1 (ko) * | 2005-12-08 | 2007-09-20 | 한국전자통신연구원 | 임베디드 리눅스 커널 및 응용 프로그램의 통합 설정을위한 웹 기반의 개발환경 제공 시스템 및 방법 |
KR20160142681A (ko) | 2015-06-03 | 2016-12-13 | 한국전자통신연구원 | 근접 소형셀 파일 클라우드를 이용하는 데이터 오프로딩 장치 및 방법 |
-
2019
- 2019-07-17 KR KR1020190086140A patent/KR102442118B1/ko active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060294234A1 (en) | 2005-06-22 | 2006-12-28 | Cisco Technology, Inc. | Zero-copy network and file offload for web and application servers |
JP5482230B2 (ja) | 2010-01-25 | 2014-05-07 | 富士通株式会社 | 通信装置、情報処理装置、通信装置の制御方法及び制御プログラム |
US20150006663A1 (en) | 2013-06-26 | 2015-01-01 | Cnex Labs, Inc. | NVM Express Controller for Remote Access of Memory and I/O Over Ethernet-Type Networks |
US20180027074A1 (en) * | 2016-07-22 | 2018-01-25 | 6Wind | System and method for storage access input/output operations in a virtualized environment |
Also Published As
Publication number | Publication date |
---|---|
KR20200054854A (ko) | 2020-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11005934B2 (en) | Efficient live-migration of remotely accessed data | |
JP5180373B2 (ja) | 仮想化環境における割り込みメッセージ終了のレイジー処理 | |
US9998558B2 (en) | Method to implement RDMA NVME device | |
US11379374B2 (en) | Systems and methods for streaming storage device content | |
KR102442118B1 (ko) | 유니커널을 이용하는 원격 직접 메모리 접근 기반 파일 입출력 오프로드 방법 및 장치 | |
US8897573B2 (en) | Virtual machine image access de-duplication | |
US10817440B2 (en) | Storage device including reconfigurable logic and method of operating the storage device | |
US20210004165A1 (en) | Dummy Host Command Generation For Supporting Higher Maximum Data Transfer Sizes (MDTS) | |
US20190007483A1 (en) | Server architecture having dedicated compute resources for processing infrastructure-related workloads | |
TW202117550A (zh) | 儲存裝置及用於儲存裝置特性自監控的方法 | |
CN107113231B (zh) | 将基于图形的计算卸载到后端设备 | |
WO2016195624A1 (en) | Transferring an image file over a network | |
CN114397999B (zh) | 基于非易失内存接口-远程处理消息传递的通信方法、装置及设备 | |
US20200151118A1 (en) | Method and apparatus for offloading file i/o based on remote direct memory access using unikernel | |
US20120066676A1 (en) | Disabling circuitry from initiating modification, at least in part, of state-associated information | |
US12056072B1 (en) | Low latency memory notification | |
US11550736B1 (en) | Tensorized direct memory access descriptors | |
KR102426416B1 (ko) | 멀티 커널 시스템의 입출력 처리 방법 및 장치 | |
CN110837482A (zh) | 分布式块存储低延迟控制方法、系统及设备 | |
US11689621B2 (en) | Computing device and storage card | |
JP7090080B2 (ja) | ハイパーバイザプログラム | |
US10430220B1 (en) | Virtual devices as protocol neutral communications mediators | |
KR102695726B1 (ko) | 컴퓨팅 장치 및 스토리지 카드 | |
KR20240098553A (ko) | 저장 장치 | |
KR20210130992A (ko) | 컴퓨팅 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20190717 |
|
PG1501 | Laying open of application | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20200917 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20190717 Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20220203 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20220714 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20220905 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20220906 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration |