[go: up one dir, main page]

KR102899906B1 - 호스트 박스와 하나 이상의 확장 박스들을 포함한 전자 장치 - Google Patents

호스트 박스와 하나 이상의 확장 박스들을 포함한 전자 장치

Info

Publication number
KR102899906B1
KR102899906B1 KR1020210004711A KR20210004711A KR102899906B1 KR 102899906 B1 KR102899906 B1 KR 102899906B1 KR 1020210004711 A KR1020210004711 A KR 1020210004711A KR 20210004711 A KR20210004711 A KR 20210004711A KR 102899906 B1 KR102899906 B1 KR 102899906B1
Authority
KR
South Korea
Prior art keywords
expansion
host
box
boxes
electronic devices
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
Application number
KR1020210004711A
Other languages
English (en)
Other versions
KR20220102399A (ko
Inventor
이승욱
김장우
박평수
Original Assignee
삼성전자주식회사
서울대학교산학협력단
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사, 서울대학교산학협력단 filed Critical 삼성전자주식회사
Priority to KR1020210004711A priority Critical patent/KR102899906B1/ko
Priority to US17/375,307 priority patent/US12052822B2/en
Publication of KR20220102399A publication Critical patent/KR20220102399A/ko
Application granted granted Critical
Publication of KR102899906B1 publication Critical patent/KR102899906B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K1/00Printed circuits
    • H05K1/02Details
    • H05K1/14Structural association of two or more printed circuits
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7896Modular architectures, e.g. assembled from a number of identical packages
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K1/00Printed circuits
    • H05K1/02Details
    • H05K1/0213Electrical arrangements not otherwise provided for
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K2201/00Indexing scheme relating to printed circuits covered by H05K1/00
    • H05K2201/04Assemblies of printed circuits
    • H05K2201/047Box-like arrangements of PCBs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Power Sources (AREA)
  • Advance Control (AREA)

Abstract

호스트 박스와 하나 이상의 확장 박스들을 포함한 전자 장치가 개시된다. 개시된 전자 장치는 전자 장치의 동작을 관리하는 호스트 프로세서, 호스트 프로세서가 장착된 호스트 마더보드 및 호스트 마더보드에 연결된 구성요소에 전원을 공급하는 호스트 전원 공급 장치를 포함하는 호스트 박스(host box) 및 호스트 박스에 의해 제어되는 하나 이상의 확장 박스들을 포함한다. 하나 이상의 확장 박스들 각각은 호스트 박스에 독립된 확장 마더보드 및 호스트 박스에 독립되고, 확장 마더보드에 연결된 구성요소에 전원을 공급하는 확장 전원 공급 장치를 포함한다.

Description

호스트 박스와 하나 이상의 확장 박스들을 포함한 전자 장치{ELECTRONIC DEVICE INCLUDING HOST BOX AND ONE OR MORE EXPANSION BOXES}
아래 실시예들은 호스트 박스와 하나 이상의 확장 박스들을 포함한 전자 장치에 관한 것이다.
인공 지능(Artificial Intelligence; AI) 기술이 발전함에 따라 인공 지능만을 위한 독자적인 하드웨어의 필요성이 증가하고 있다. 인공 지능은 예를 들어, 특정한 연산을 통해 추론이나 학습을 수행할 수 있다. 이와 같이 인공 지능을 구현하고 실행하기 위한 전용 하드웨어로서 다양한 장치들이 개발되고 있다.
인공 지능을 위한 전용 하드웨어는 예를 들어, CPU(Central Processing Unit), GPU(Graphics Processing Unit) 등에 의해 구현될 수도 있고, 용도 변경이 가능한 FPGA(Field Programmable Gate Array), 및 ASIC(Application Specific Integrated Circuit) 등에 의해 구현될 수도 있다.
일 실시예에 따른 전자 장치는 상기 전자 장치의 동작을 관리하는 호스트 프로세서, 상기 호스트 프로세서가 장착된 호스트 마더보드(host motherboard) 및 상기 호스트 마더보드에 연결된 구성요소에 전원을 공급하는 호스트 전원 공급 장치(host power supply unit; host PSU)를 포함하는 호스트 박스(host box); 및 상기 호스트 박스에 의해 제어되는 하나 이상의 확장 박스들(one or more extension boxes)을 포함하고, 상기 하나 이상의 확장 박스들 각각은 상기 호스트 박스에 독립된 확장 마더보드; 및 상기 호스트 박스에 독립되고, 상기 확장 마더보드에 연결된 구성요소에 전원을 공급하는 확장 전원 공급 장치(extension power supply unit; extension PSU)를 포함한다.
일 실시예에 따른 전자 장치에서 상기 하나 이상의 확장 박스들 각각은 상기 호스트 프로세서로부터 독립되고, 상기 확장 마더보드에 연결된 구성요소의 동작을 제어하는 컨트롤러를 더 포함할 수 있다.
일 실시예에 따른 전자 장치에서 상기 컨트롤러는 대응하는 확장 박스의 디바이스 드라이버에 기반한 디바이스 관리, 상기 대응하는 확장 박스에 대한 입출력 데이터 관리 및 스토리지에 저장된 데이터에 대한 가공 중 하나 또는 둘 이상의 조합을 수행할 수 있다.
일 실시예에 따른 전자 장치에서 상기 하나 이상의 확장 박스들 중 적어도 하나는 데이터 저장 장치를 더 포함하고, 상기 데이터 저장 장치에 저장된 데이터는 상기 하나 이상의 확장 박스들 중 하나에 포함된 컨트롤러에 의해 가속기로 전달될 수 있다.
일 실시예에 따른 전자 장치에서 상기 호스트 박스에 포함된 호스트 메모리는 상기 데이터의 이동 경로에서 제외될 수 있다.
일 실시예에 따른 전자 장치에서 상기 하나 이상의 확장 박스들 각각은 상기 호스트 박스 및 상기 하나 이상의 확장 박스들 중 인접한 하나 또는 둘 이상과 통신을 수행하는 확장 스위치를 더 포함할 수 있다.
일 실시예에 따른 전자 장치에서 상기 전자 장치에서 수행되는 워크로드의 데이터 통신 패턴 및 상기 하나 이상의 확장 박스들 각각에 포함된 확장 스위치의 대역폭 중 하나 또는 둘의 조합에 기반하여, 상기 하나 이상의 확장 박스들 각각에 포함되는 구성요소가 결정될 수 있다.
일 실시예에 따른 전자 장치에서 상기 데이터 통신 패턴은 스토리지로부터 전달된 데이터가 컨트롤러에 의해 가공되어 가속기로 전달되는 패턴일 수 있다.
일 실시예에 따른 전자 장치에서 상기 호스트 박스와 상기 하나 이상의 확장 박스들의 연결 구조는 상기 호스트 박스를 루트 노드로 하는 트리 구조일 수 있다.
일 실시예에 따른 전자 장치에서 상기 하나 이상의 확장 박스들 각각에 포함되는 구성요소는 상기 스토리지의 읽기 성능, 상기 컨트롤러의 데이터 가공 성능 및 상기 가속기의 처리 성능 중 하나 또는 둘 이상의 조합과 대응하는 확장 박스의 물리적 한계에 기초하여 결정될 수 있다.
일 실시예에 따른 전자 장치는 상기 전자 장치의 동작을 관리하는 호스트 프로세서, 상기 호스트 프로세서가 장착된 호스트 마더보드 및 상기 호스트 마더보드에 연결된 구성요소에 전원을 공급하는 호스트 전원 공급 장치를 포함하는 호스트 박스; 및 상기 호스트 박스에 의해 제어되는 하나 이상의 확장 박스들을 포함하고, 상기 하나 이상의 확장 박스들 각각은 상기 호스트 박스에 독립된 확장 마더보드; 및 상기 호스트 프로세서로부터 독립되고, 상기 확장 마더보드에 연결된 구성요소의 동작을 제어하는 컨트롤러를 한다.
일 실시예에 따른 전자 장치는 상기 전자 장치의 동작을 관리하는 호스트 프로세서, 상기 호스트 프로세서가 장착된 호스트 마더보드 및 상기 호스트 마더보드에 연결된 구성요소에 전원을 공급하는 호스트 전원 공급 장치를 포함하는 호스트 박스; 및 상기 호스트 박스에 의해 제어되는 하나 이상의 확장 박스들을 포함하고, 상기 하나 이상의 확장 박스들 중 적어도 하나는 데이터 저장 장치를 포함하고, 상기 데이터 저장 장치에 저장된 데이터는 상기 하나 이상의 확장 박스들 중 하나에 포함된 컨트롤러에 의해 가속기로 전달된다.
도 1은 일 실시예에 따른 단일 노드 기반 전자 장치를 설명하기 위한 도면이다.
도 2는 일 실시예에 따라 독립적인 전원 공급 장치와 마더보드를 포함한 확장 박스를 설명하기 위한 도면이다.
도 3은 일 실시예에 따라 컨트롤러를 포함한 확장 박스를 설명하기 위한 도면이다.
도 4는 일 실시예에 따라 디바이스 간 직접 통신을 수행하는 확장 박스를 설명하기 위한 도면이다.
도 5는 일 실시예에 따라 확장 박스의 구성요소를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 전자 장치의 예시를 나타낸 도면이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 단일 노드 기반 전자 장치를 설명하기 위한 도면이다.
도 1을 참조하면, 단일 노드 기반 전자 장치(100)는 호스트 박스(110) 및 하나 이상의 확장 박스들(120)을 포함할 수 있다. 전자 장치(100)는 하나의 호스트 프로세서가 복수의 가속기들을 제어 및/또는 관리하는 단일 노드로 설계될 수 있다. 단일 노드로 설계된 전자 장치(110)는 복수의 노드들로 설계된 방식에 비해 관리가 용이하고, 비용이 낮으며, 성능이 높을 수 있다. 단일 노드로 설계된 전자 장치(100)는 스위치로 연결된 호스트 박스(110)와 하나 이상의 확장 박스들(120)을 포함함으로써, 전자 장치(100)가 포함할 수 있는 하드웨어 개수에 대한 제약을 효과적으로 극복할 수 있다.
호스트 박스(110)는 호스트 프로세서, 호스트 메모리, 호스트 마더보드(도면 미도시), 호스트 전원 공급 장치, 호스트 스위치를 포함하고, 하나 이상의 확장 박스들(120)을 제어할 수 있다.
호스트 프로세서는 전자 장치(100) 및 전자 장치(100)에 포함된 컴포넌트들의 동작을 제어하는 디바이스로서, 예를 들어, 중앙 처리 장치(CPU; Central Processing Unit)를 포함할 수 있다. 호스트 프로세서는 전자 장치(100)의 운영체제(operating system)에 따라 전자 장치(100)에 포함된 다양한 구성요소들의 동작을 제어할 수 있다. 예를 들어, 호스트 프로세서는 뉴럴 네트워크를 하나 이상의 가속기들에서 실행시키기 위한 하나 이상의 요청이 수신되면 해당 요청에 대응하는 명령어를 하나 이상의 가속기들로 전달할 수 있다. 요청은 뉴럴 네트워크에 대한 학습이나 뉴럴 네트워크에 기반한 추론을 위한 것일 수 있다. 뉴럴 네트워크는 예를 들어, 패턴 인식(예: 객체 인식, 얼굴 식별 등), 시퀀스 인식(예: 음성, 제스처, 필기 텍스트 인식, 기계 번역, 기계 통역 등), 제어(예: 차량 제어, 프로세스 제어 등), 추천 서비스, 의사 결정, 의료 진단, 금융 어플리케이션, 데이터 마이닝 등을 수행하는 모델을 포함할 수 있으나, 뉴럴 네트워크의 예시가 이에 한정되는 것은 아니다.
호스트 메모리는 가속기의 외부에 배치된 메모리로서, 예를 들어, DRAM(Dynamic Random Access Memory)일 수 있다. 호스트 메모리는 추론 대상 데이터 및/또는 가속기에서 실행할 뉴럴 네트워크의 파라미터들의 일부 또는 전부를 저장할 수 있으며, 저장된 데이터는 이후 추론 수행을 위해 가속기로 전달될 수 있다.
호스트 마더보드는 호스트 박스(110)에 포함된 구성요소들(예: 호스트 프로세서, 호스트 메모리, 호스트 스위치 등)을 연결시켜 데이터 교환을 가능하게 하는 디바이스일 수 있다. 호스트 마더보드는 설계에 따라 미리 정해진 개수의 슬롯을 포함할 수 있으며, 호스트 박스(110)에 포함된 구성요소들이 슬롯에 장착될 수 있다. 호스트 박스(110)에 포함되는 구성요소의 개수는 호스트 마더보드의 슬롯 개수에 제한될 수 있다. 추후 상세히 설명되겠으나, 하나 이상의 확장 박스들(120) 각각이 호스트 마더보드에 독립된 확장 마더보드를 포함함으로써, 전자 장치(100)의 확장성을 향상시킬 수 있다.
호스트 전원 공급 장치는 호스트 마더보드에 연결된 구성요소에 전원을 공급할 수 있다. 추후 상세히 설명되겠으나, 하나 이상의 확장 박스들(120) 각각이 호스트 전원 공급 장치에 독립된 확장 전원 공급 장치를 포함함으로써, 전자 장치(100)의 확장성을 향상시킬 수 있다.
호스트 스위치는 하나 이상의 확장 박스들(120) 중 인접한 하나 또는 둘 이상의 확장 스위치와 통신을 수행하여 데이터를 교환할 수 있다. 스위치들 간 데이터 교환을 통해, 호스트 박스(110)와 하나 이상의 확장 박스들(120) 간 연결 구조가 높은 자유도를 가질 수 있다.
하나 이상의 확장 박스들(120) 각각은 확장 마더보드, 컨트롤러, 확장 전원 공급 장치, 확장 스위치를 포함할 수 있으며, 경우에 따라 가속기 및 데이터 저장 장치 중 하나 또는 둘의 조합을 더 포함할 수 있다.
확장 마더보드는 대응하는 확장 박스에 포함된 구성요소들(예: 컨트롤러, 확장 스위치, 가속기, 데이터 저장 장치 등)을 연결시켜 데이터 교환을 가능하게 하는 디바이스일 수 있다. 확장 마더보드는 설계에 따라 미리 정해진 개수의 슬롯을 포함할 수 있으며, 대응하는 확장 박스에 포함된 구성요소들이 슬롯에 장착될 수 있다. 다시 말해, 대응하는 확장 박스 내 구성요소의 개수는 확장 마더보드의 슬롯 개수에 한정될 수 있다. 하나 이상의 확장 박스들(120)은 동일 또는 상이한 슬롯 개수를 가진 별도의 확장 마더보드를 포함할 수 있으며, 이를 통해 전자 장치(100)에 포함되는 구성요소들의 개수가 제한되지 않을 수 있다.
컨트롤러는 대응하는 확장 박스에 포함된 구성요소들의 동작을 제어하고, 호스트 박스(110)에 포함된 호스트 프로세서의 일부 기능이 오프로딩된 디바이스일 수 있다. 컨트롤러는 호스트 프로세서의 일부 동작을 대신하여 대응하는 확장 박스의 제어를 수행함으로써, 전자 장치(100)의 확장성이 호스트 프로세서의 성능에 의해 제한되지 않게 할 수 있다. 예를 들어, 컨트롤러는 대응하는 확장 박스에 대한 디바이스 드라이버에 기반한 디바이스 관리, 입출력 데이터 관리, 데이터 가공 등을 수행할 수 있으며, 대응하는 확장 박스의 목적과 상황에 따라 CPU, GPU, FPGA, ASIC 등으로 구현될 수 있다.
확장 전원 공급 장치는 확장 마더보드에 연결된 구성요소에 전원을 공급할 수 있다. 확장 전원 공급 장치는 호스트 박스(110) 내 호스트 전원 공급 장치에 독립된 전원 공급 장치로서, 전자 장치(100)의 확장성이 호스트 전원 공급 장치에 제한되지 않게 할 수 있다.
확장 스위치는 호스트 박스(110) 및 하나 이상의 확장 박스들(120) 중 인접한 하나 또는 둘 이상의 확장 스위치와 통신을 수행하여 데이터를 교환할 수 있다. 호스트 박스(110)와 하나 이상의 확장 박스들(120)은 호스트 박스(110)를 루트 노드로 하는 트리 구조를 가질 수 있으며, 이에 대해서는 추후 상세히 설명한다.
하나 이상의 확장 박스들(120) 각각은 전자 장치(100)에서 수행되는 워크로드의 데이터 통신 패턴과 확장 스위치의 대역폭 중 하나 또는 둘의 조합에 기반하여 결정된 구성요소를 포함함으로써, 확장 박스 내부의 인트라-박스 통신(intra-box communication)이 최대한 활용되고 확장 박스들 간 인터-박스 통신(inter-box communication)이 최소화되도록 할 수 있다. 이로써, 네트워크 트리의 상위 노드(다시 말해, 호스트 박스(110))의 부담을 효과적으로 감소시킬 수 있다.
하나 이상의 확장 박스들(120) 중 적어도 하나는 가속기 및 데이터 저장 장치 중 하나 또는 둘의 조합을 더 포함할 수 있다.
가속기는 뉴럴 네트워크를 실행하기 위한 하드웨어 디바이스로, 앞서 설명한 호스트 프로세서와 구별되는 별도의 프로세서일 수 있다. 예를 들어, 가속기는 NPU(neural processing unit), GPU(graphics processing unit), TPU(tensor processing unit), DSP(digital signal processor) 등일 수 있다.
가속기는 뉴럴 네트워크에 따른 연산들의 특성상 범용의 호스트 프로세서에서 처리되기 보다는 별도의 전용 프로세서(다시 말해, 가속기)에서 처리되는 것이 보다 효율적인 작업이나 연산을 수행할 수 있다. 이때 가속기에 포함된 하나 이상의 프로세싱 엘리먼트들(PEs; Processing Elements) 및 온-칩 메모리가 활용될 수 있다. 예를 들어, 온-칩 메모리는 주소 공간(address space)을 통해 액세스 가능한 스크래치패드 메모리(scratchpad memory), SRAM(Static Random Access Memory) 등을 포함할 수 있다.
뉴럴 네트워크는 복수의 레이어들을 포함한다. 일실시예에서, 뉴럴 네트워크는 입력 레이어, 복수의 히든 레이어들 및 출력 레이어를 포함한다. 각각의 레이어들은 인공 뉴런이라고도 불리는 복수의 노드들을 포함한다. 각 노드는 하나 이상의 입력 및 출력을 가지는 계산 단위를 나타내고, 노드들은 상호 연결될 수 있다. 노드들 간의 연결에는 가중치가 설정될 수 있으며, 이러한 가중치는 조정 또는 변경될 수 있다. 가중치는 연관된 데이터 값을 증폭, 감소 또는 유지시킴으로써 해당 데이터 값이 최종 결과에 미치는 영향도를 결정할 수 있다. 출력 레이어에 포함된 각각의 노드에는 이전 레이어에 포함된 노드들의 가중된 입력들이 입력될 수 있다. 가중된 데이터가 임의의 레이어로부터 다음 레이어로 입력되는 과정을 전파(propagation)라고 지칭할 수 있다.
데이터 저장 장치는 데이터를 저장하는 하드웨어 디바이스로서, 예를 들어, 메모리, 스토리지를 포함할 수 있다. 메모리는 단기 데이터 액세스를 허용하는 하드웨어 디바이스로서, 예를 들어 DRAM을 포함할 수 있다. 스토리지는 장기 데이터 액세스를 허용하는 하드웨어 디바이스로서, 예를 들어 SSD(solid state drive), HDD(hard disk drive)를 포함할 수 있다. 메모리에 저장된 데이터는 해당 데이터의 어드레스에 기반하여 로딩되어 대응하는 프로세서 또는 가속기에서 처리될 수 있는 반면, 스토리지에 저장된 데이터가 대응하는 프로세서 또는 가속기에서 처리되기 위해서는 일정한 데이터 가공이 요구될 수 있다. 데이터 저장 장치는 가속기에서 뉴럴 네트워크에 따른 처리가 수행되는 데 필요한 데이터를 저장할 수 있으며, 데이터 저장 장치에 저장된 데이터는 호스트 박스(110)를 통하지 않고 확장 박스들 간 직접 통신 등을 통해 가속기로 전달됨으로써, 호스트 메모리의 부담을 효과적으로 감소시킬 수 있다.
도 1에서 하나 이상의 확장 박스들(120)이 동일한 구성요소를 포함하는 것으로 도시된 것은 설명의 편의를 위한 것으로, 실시예에 따라 각 확장 박스들에 포함된 구성요소 및 그 개수는 달라질 수 있으며, 전자 장치(100)에 포함된 확장 박스의 개수도 달라질 수 있다.
이하, 도면들을 참조하여 확장성에 대한 제약요소를 최소화하는 단일 노드 기반의 전자 장치(100)을 상세히 설명한다.
도 2는 일 실시예에 따라 독립적인 전원 공급 장치와 마더보드를 포함한 확장 박스를 설명하기 위한 도면이다.
도 2를 참조하면, 호스트 박스(210)와 하나 이상의 확장 박스들(220)이 독립된 전원 공급 장치와 마더보드를 포함함으로써, 전자 장치(200)의 확장성이 마더보드의 제한된 슬롯 개수나 전원 공급 장치의 제한된 전원에 의해 제한되지 않을 수 있다. 도 2에서는 설명의 편의를 위해 하나 이상의 확장 박스들(220)에 포함된 컨트롤러가 생략될 수 있고, 하나 이상의 확장 박스들(220)에 포함된 구성요소 및 그 개수도 실시예에 따라 달라질 수 있다.
호스트 박스(210)의 호스트 마더보드에는 설계에 따라 미리 정해진 개수의 슬롯들을 가지므로, 그 이상으로 호스트 박스(210)의 확장성이 제한될 수 있으나, 독립된 확장 마더보드를 가진 하나 이상의 확장 박스들(220)을 통해 슬롯 개수에 의해 전자 장치(200)의 확장성이 제한되지 않을 수 있다. 다시 말해, 트리 토폴로지(tree topology)가 지원하는 디바이스의 개수에 대한 확장성을 이용하여 전자 장치(200)에 포함된 슬롯이 쉽게 확장될 수 있다. 또한, 하나 이상의 확장 박스들(220) 각각에는 별도의 호스트 프로세서나 호스트 메모리가 포함되지 않기 때문에, 확장 마더보드의 설계가 단순해질 수 있다.
호스트 박스(210)의 호스트 전원 공급 장치는 설계에 따라 미리 정해진 한도 내에서 전원을 공급하므로, 그 이상으로의 호스트 박스(210)의 확장성이 제한될 수 있으나, 독립된 확장 전원 공급 장치를 가진 하나 이상의 확장 박스들(220)을 통해 전원 한도에 의해 전자 장치(200)의 확장성이 제한되지 않을 수 있다. 또한, 각 박스마다 별도의 전원 공급 장치가 포함됨으로써, 전원 공급 장치의 설치나 관리가 보다 용이할 수 있다.
호스트 박스(210)와 하나 이상의 확장 박스들(220)은 스위치를 통해 인접한 박스와 연결됨으로써, 전자 장치(200)가 자유롭게 확장될 수 있다. 이를 통해, 전자 장치(200)에 요구되는 성능이 달라지더라도 확장 박스의 추가 또는 제거를 통해 달라진 성능에 적절한 전자 장치(200)를 쉽게 구현할 수 있다.
도 3은 일 실시예에 따라 컨트롤러를 포함한 확장 박스를 설명하기 위한 도면이다.
도 3을 참조하면, 하나 이상의 확장 박스들(320) 각각이 호스트 박스(310)의 호스트 프로세서에 독립된 컨트롤러를 포함함으로써, 전자 장치(300)의 확장성이 호스트 프로세서의 제한된 성능에 의해 제한되지 않을 수 있다. 도 3에서는 설명의 편의를 위해 호스트 박스(310)에 포함된 호스트 전원 공급 장치와 하나 이상의 확장 박스들(320)에 포함된 확장 전원 공급 장치가 생략될 수 있고, 하나 이상의 확장 박스들(320)에 포함된 구성요소 및 그 개수도 실시예에 따라 달라질 수 있다.
하나 이상의 확장 박스들(320) 각각에 포함된 컨트롤러는 기본적인 연산 수행뿐만 아니라 대응하는 확장 박스에 포함된 구성요소의 동작을 제어 및/또는 관리할 수 있다. 이를테면, 컨트롤러는 디바이스 드라이버를 통한 확장 박스에 포함된 구성요소(예: 가속기, 데이터 저장 장치 등)의 관리, 데이터 관리, 데이터 가공 등을 수행하는 계산 기능을 포함한 디바이스일 수 있다.
이로써, 호스트 박스(310)에 포함된 호스트 프로세서의 성능(예: 가용 CPU 코어 개수 등)에 제한되지 않고, 필요에 따라 전자 장치(300)에 포함되는 확장 박스의 개수를 증가시킬 수 있다.
도 4는 일 실시예에 따라 디바이스 간 직접 통신을 수행하는 확장 박스를 설명하기 위한 도면이다.
도 4를 참조하면, 호스트 박스(410)를 통하지 않고 하나 이상의 확장 박스들(420)이 직접 통신을 수행함으로써, 전자 장치(400)의 확장성이 호스트 박스(410)의 호스트 메모리에 제한되지 않을 수 있다. 도 4에서는 설명의 편의를 위해 호스트 박스(410)에 포함된 호스트 전원 공급 장치와 하나 이상의 확장 박스들(420)에 포함된 확장 전원 공급 장치가 생략될 수 있고, 하나 이상의 확장 박스들(420)에 포함된 구성요소 및 그 개수도 실시예에 따라 달라질 수 있다.
제1 확장 박스(421)는 하나 이상의 데이터 저장 장치들을 포함하고, 제2 확장 박스(422)는 하나 이상의 가속기들을 포함할 수 있다. 제1 확장 박스(421)의 데이터 저장 장치에 저장된 데이터가 제2 확장 박스(422)의 가속기로 전달되어 가속기에서 처리되는 경우, 먼저 제1 확장 박스(421)의 데이터 저장 장치에 저장된 데이터가 제2 확장 박스(422)의 컨트롤러로 전달되고, 컨트롤러는 해당 데이터를 가공하여 가속기로 전달하며, 가속기는 컨트롤러로부터 전달된 가공 데이터를 처리할 수 있다. 이때, 인터-박스 통신은 제1 확장 박스(421)와 제2 확장 박스(422) 간 수행되고, 호스트 박스(410)의 호스트 메모리는 데이터 경로에서 제외되므로, 호스트 박스(410)의 호스트 메모리의 부하가 최소화될 수 있다. 또한, 디바이스 간 직접 통신을 통해 제1 확장 박스(421) 내 데이터 저장 장치가 버퍼로 이용됨으로써, 데이터 통신을 수행하기 위한 버퍼의 오버헤드가 최소화될 수 있다.
도 5는 일 실시예에 따라 확장 박스의 구성요소를 설명하기 위한 도면이다.
도 5를 참조하면, 전자 장치(500)에서 수행되는 워크로드의 데이터 통신 패턴 및 하나 이상의 확장 박스들(520) 각각에 포함된 확장 스위치의 대역폭 중 하나 또는 둘의 조합에 기반하여, 하나 이상의 확장 박스들(520) 각각에 포함되는 구성요소가 결정될 수 있다. 도 5에서는 설명의 편의를 위해 호스트 박스(510)에 포함된 호스트 전원 공급 장치와 하나 이상의 확장 박스들(520)에 포함된 확장 전원 공급 장치가 생략될 수 있고, 하나 이상의 확장 박스들(520)에 포함된 구성요소 및 그 개수도 실시예에 따라 달라질 수 있다.
하나 이상의 확장 박스들(520) 각각에 포함된 구성요소(예: 가속기, 데이터 저장 장치 등)는 워크로드에 따른 데이터 통신 패턴과 확장 스위치의 대역폭 중 적어도 하나에 따라 인터-박스 통신 부하가 최소화되도록 결정될 수 있다. 예를 들어, 특정 가속기에서 처리될 필요가 있는 데이터는 동일한 확장 박스 내 데이터 처리 장치에 저장되게끔 하나 이상의 확장 박스들(520)의 구성요소가 결정될 수 있다. 가속기에서 처리된 데이터는 일반적으로 가속기에서 처리되기 전 데이터보다 크기가 작으므로, 불가피한 인터-박스 통신은 가속기에서 처리된 데이터에 대해 수행되도록 하나 이상의 확장 박스들(520)의 구성요소가 결정될 수 있다. 또한, 확장 스위치의 대역폭이 인터-박스 통신보다 인트라-박스 통신을 최대한 지원하도록 하나 이상의 확장 박스들(520)의 구성요소가 결정될 수 있다.
일 실시예에 따라 전자 장치(500)에 포함되는 하나 이상의 확장 박스(520)의 구성요소나 연결 구조는 워크로드 자체의 데이터 통신 패턴, 개별 디바이스별 처리 성능을 표현한 공통적인 성능 메트릭(performance metric) 및 실제 하드웨어적 한계 중 하나 또는 둘 이상의 조합에 기반하여 결정될 수 있다. 데이터 통신 패턴은 데이터가 저장된 스토리지, 저장된 데이터를 가공하는 컨트롤러, 가공된 데이터를 처리하는 가속기로 연결될 수 있다. 스토리지의 읽기 성능, 컨트롤러의 데이터 가공 성능 및 가속기의 데이터 처리 성능은 샘플(sample) 또는 초(second)에 기반한 공통 성능 메트릭으로 표현될 수 있다. 하나 이상의 확장 박스들(520)에 대한 구성요소는 공통 성능 메트릭으로 표현된 3가지 성능의 비율과 확장 박스의 물리적 한계(예: 연결 가능한 구성요소의 최대 개수 등)에 기반하여 결정될 수 있다. 예를 들어, 뉴럴 네트워크의 학습을 수행하는 특정 확장 박스는 8개의 가속기들, 2개의 스토리지 및 1개의 컨트롤러를 포함하도록 결정될 수 있다.
호스트 박스(510)와 하나 이상의 확장 박스들(520)의 연결 구조는 호스트 박스(510)를 루트 노드로 하는 트리 구조일 수 있다. 트리 구조는, 예를 들어 PCIe(PCI express)나 CXL(compute express link) 등에 기반할 수 있다. 각기 다른 박스들 간 데이터 통신을 최소화하고, 대부분의 데이터 통신이 박스 내에서 수행되도록 하나 이상의 확장 박스들(520) 각각의 구성요소가 결정될 수 있다. 하나 이상의 확장 박스들(520) 각각의 확장 스위치는 내부 구성요소들 간 데이터 통신을 완전 지원(fully support)할 수 있다. 이를 통해, 데이터 통신의 지역화(localization)를 구현하고, 트리 구조의 루트 노드의 데이터 통신 부하가 최소화될 수 있다. 데이터 전송 네트워크의 성능 한계에 의해 전자 장치(500)의 확장성이 제한되지 않을 수 있다.
도 6은 일 실시예에 따른 전자 장치의 예시를 나타낸 도면이다.
앞서 설명한 전자 장치는 다수의 하드웨어를 이용하는 인공 지능(artificial intelligence), 데이터베이스, 스토리지 시스템 등 연산기와 메모리를 포함한 복수의 노드들을 연결하여 하나의 시스템을 구성하는 다양한 분야에 적용되어 성능 향상이 기대될 수 있다.
도 6을 참조하면, 일실시예에 따른 전자 장치는 서버(600)로 구현될 수 있다. 도 6에서는 설명의 편의를 위해 전자 장치가 서버(600)로 도시되어 있으나, 이외에도 다양한 전자 장치의 예시들이 제한 없이 적용될 수 있다.
서버(600)는 호스트 박스(610) 및 하나 이상의 확장 박스들(620)을 포함한다.
호스트 박스(610)는 서버(600)의 동작을 관리하는 호스트 프로세서, 호스트 프로세서가 장착된 호스트 마더보드 및 호스트 마더보드에 연결된 구성요소에 전원을 공급하는 호스트 전원 공급 장치를 포함한다.
하나 이상의 확장 박스들(620) 각각은 호스트 박스(610)에 독립된 확장 마더보드 및 호스트 박스(610)에 독립되고, 확장 마더보드에 연결된 구성요소에 전원을 공급하는 확장 전원 공급 장치를 포함한다.
또한, 하나 이상의 확장 박스들(620) 각각은 호스트 프로세서로부터 독립되고, 확장 마더보드에 연결된 구성요소의 동작을 제어하는 컨트롤러를 더 포함할 수 있다. 컨트롤러는 대응하는 확장 박스의 디바이스 드라이버에 기반한 디바이스 관리, 대응하는 확장 박스에 대한 입출력 데이터 관리 및 스토리지에 저장된 데이터에 대한 가공 중 하나 또는 둘 이상의 조합을 수행할 수 있다.
또한, 하나 이상의 확장 박스들(620) 중 적어도 하나는 데이터 저장 장치를 더 포함할 수 있다. 데이터 저장 장치에 저장된 데이터는 하나 이상의 확장 박스들(620) 중 하나에 포함된 컨트롤러에 의해 가속기로 전달될 수 있다. 호스트 박스(610)에 포함된 호스트 메모리는 데이터의 이동 경로에서 제외될 수 있다.
또한, 하나 이상의 확장 박스들(620) 각각은 호스트 박스(610) 및 하나 이상의 확장 박스들(620) 중 인접한 하나 또는 둘 이상과 통신을 수행하는 확장 스위치를 더 포함할 수 있다. 서버(600)에서 수행되는 워크로드의 데이터 통신 패턴 및 하나 이상의 확장 박스들(620) 각각에 포함된 확장 스위치의 대역폭 중 하나 또는 둘의 조합에 기반하여, 하나 이상의 확장 박스들(620) 각각에 포함되는 구성요소가 결정될 수 있다. 데이터 통신 패턴은 스토리지로부터 전달된 데이터가 컨트롤러에 의해 가공되어 가속기로 전달되는 패턴일 수 있다. 호스트 박스(610)와 하나 이상의 확장 박스들(620)의 연결 구조는 호스트 박스(610)를 루트 노드로 하는 트리 구조일 수 있다. 하나 이상의 확장 박스들(620) 각각에 포함되는 구성요소는 스토리지의 읽기 성능, 컨트롤러의 데이터 가공 성능 및 가속기의 처리 성능 중 하나 또는 둘 이상의 조합과 대응하는 확장 박스의 물리적 한계에 기초하여 결정될 수 있다.
그 밖에, 서버(600)에 관해서는 상술된 동작을 처리할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (18)

  1. 전자 장치에 있어서,
    상기 전자 장치의 동작을 관리하는 호스트 프로세서, 상기 호스트 프로세서가 장착된 호스트 마더보드(host motherboard) 및 상기 호스트 마더보드에 연결된 구성요소에 전원을 공급하는 호스트 전원 공급 장치(host power supply unit; host PSU)를 포함하는 호스트 박스(host box); 및
    상기 호스트 박스에 의해 제어되는 하나 이상의 확장 박스들(one or more extension boxes)
    을 포함하고,
    상기 하나 이상의 확장 박스들 각각은
    상기 호스트 박스에 독립되고, 대응하는 확장 박스 내에 배치되는 확장 마더보드; 및
    상기 호스트 박스에 독립되고, 대응하는 확장 박스 내에 배치되며, 상기 확장 마더보드에 연결된 구성요소에 전원을 공급하는 확장 전원 공급 장치(extension power supply unit; extension PSU)
    를 포함하는
    전자 장치.
  2. 제1항에 있어서,
    상기 하나 이상의 확장 박스들 각각은
    상기 호스트 프로세서로부터 독립되고, 상기 확장 마더보드에 연결된 구성요소의 동작을 제어하는 컨트롤러
    를 더 포함하는,
    전자 장치.
  3. 제2항에 있어서,
    상기 컨트롤러는
    대응하는 확장 박스의 디바이스 드라이버에 기반한 디바이스 관리, 상기 대응하는 확장 박스에 대한 입출력 데이터 관리 및 스토리지에 저장된 데이터에 대한 가공 중 하나 또는 둘 이상의 조합을 수행하는,
    전자 장치.
  4. 제1항에 있어서,
    상기 하나 이상의 확장 박스들 중 적어도 하나는
    데이터 저장 장치를 더 포함하고,
    상기 데이터 저장 장치에 저장된 데이터는 상기 하나 이상의 확장 박스들 중 하나에 포함된 컨트롤러에 의해 가속기로 전달되는,
    전자 장치.
  5. 제4항에 있어서,
    상기 호스트 박스에 포함된 호스트 메모리는 상기 데이터의 이동 경로에서 제외되는,
    전자 장치.
  6. 제1항에 있어서,
    상기 하나 이상의 확장 박스들 각각은
    상기 호스트 박스 및 상기 하나 이상의 확장 박스들 중 인접한 하나 또는 둘 이상과 통신을 수행하는 확장 스위치
    를 더 포함하는,
    전자 장치.
  7. 제1항에 있어서,
    상기 전자 장치에서 수행되는 워크로드의 데이터 통신 패턴 및 상기 하나 이상의 확장 박스들 각각에 포함된 확장 스위치의 대역폭 중 하나 또는 둘의 조합에 기반하여, 상기 하나 이상의 확장 박스들 각각에 포함되는 구성요소가 결정되는,
    전자 장치.
  8. 제7항에 있어서,
    상기 데이터 통신 패턴은 스토리지로부터 전달된 데이터가 컨트롤러에 의해 가공되어 가속기로 전달되는 패턴인,
    전자 장치.
  9. 제1항에 있어서,
    상기 호스트 박스와 상기 하나 이상의 확장 박스들의 연결 구조는 상기 호스트 박스를 루트 노드로 하는 트리 구조인,
    전자 장치.
  10. 제1항에 있어서,
    상기 하나 이상의 확장 박스들 각각에 포함되는 구성요소는
    스토리지의 읽기 성능, 컨트롤러의 데이터 가공 성능 및 가속기의 처리 성능 중 하나 또는 둘 이상의 조합과 대응하는 확장 박스의 물리적 한계에 기초하여 결정되는,
    전자 장치.
  11. 전자 장치에 있어서,
    상기 전자 장치의 동작을 관리하는 호스트 프로세서, 상기 호스트 프로세서가 장착된 호스트 마더보드 및 상기 호스트 마더보드에 연결된 구성요소에 전원을 공급하는 호스트 전원 공급 장치를 포함하는 호스트 박스; 및
    상기 호스트 박스에 의해 제어되는 하나 이상의 확장 박스들
    을 포함하고,
    상기 하나 이상의 확장 박스들 각각은
    상기 호스트 박스에 독립되고, 대응하는 확장 박스 내에 배치되는 확장 마더보드; 및
    상기 호스트 프로세서로부터 독립되고, 대응하는 확장 박스 내에 배치되며, 상기 확장 마더보드에 연결된 구성요소의 동작을 제어하는 컨트롤러
    를 포함하는
    전자 장치.
  12. 제11항에 있어서,
    상기 컨트롤러는
    대응하는 확장 박스의 디바이스 드라이버에 기반한 디바이스 관리, 상기 대응하는 확장 박스에 대한 입출력 데이터 관리 및 스토리지에 저장된 데이터에 대한 가공 중 하나 또는 둘 이상의 조합을 수행하는,
    전자 장치.
  13. 제11항에 있어서,
    상기 하나 이상의 확장 박스들 각각은
    상기 호스트 박스에 독립되고, 상기 확장 마더보드에 연결된 구성요소에 전원을 공급하는 확장 전원 공급 장치
    를 더 포함하는,
    전자 장치.
  14. 제11항에 있어서,
    상기 하나 이상의 확장 박스들 중 적어도 하나는
    데이터 저장 장치를 더 포함하고,
    상기 데이터 저장 장치에 저장된 데이터는 상기 하나 이상의 확장 박스들 중 하나에 포함된 컨트롤러에 의해 가속기로 전달되는,
    전자 장치.
  15. 제11항에 있어서,
    상기 하나 이상의 확장 박스들 각각은
    상기 호스트 박스 및 상기 하나 이상의 확장 박스들 중 인접한 하나 또는 둘 이상과 통신을 수행하는 확장 스위치
    를 더 포함하고,
    전자 장치.
  16. 제11항에 있어서,
    상기 호스트 박스와 상기 하나 이상의 확장 박스들의 연결 구조는 상기 호스트 박스를 루트 노드로 하는 트리 구조인,
    전자 장치.
  17. 전자 장치에 있어서,
    상기 전자 장치의 동작을 관리하는 호스트 프로세서, 상기 호스트 프로세서가 장착된 호스트 마더보드 및 상기 호스트 마더보드에 연결된 구성요소에 전원을 공급하는 호스트 전원 공급 장치를 포함하는 호스트 박스; 및
    상기 호스트 박스에 의해 제어되는 하나 이상의 확장 박스들
    을 포함하고,
    상기 하나 이상의 확장 박스들 중 적어도 하나는 데이터 저장 장치를 포함하고,
    상기 데이터 저장 장치에 저장된 데이터는 상기 하나 이상의 확장 박스들 중 어느 하나에 포함된 컨트롤러에 의해 상기 하나 이상의 확장 박스들 중 어느 하나에 포함된 가속기로 전달되는,
    전자 장치.
  18. 제17항에 있어서,
    상기 하나 이상의 확장 박스들 각각은
    상기 호스트 박스에 독립된 확장 마더보드; 및
    상기 호스트 박스에 독립되고, 상기 확장 마더보드에 연결된 구성요소에 전원을 공급하는 확장 전원 공급 장치
    를 포함하는,
    전자 장치.
KR1020210004711A 2021-01-13 2021-01-13 호스트 박스와 하나 이상의 확장 박스들을 포함한 전자 장치 Active KR102899906B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210004711A KR102899906B1 (ko) 2021-01-13 2021-01-13 호스트 박스와 하나 이상의 확장 박스들을 포함한 전자 장치
US17/375,307 US12052822B2 (en) 2021-01-13 2021-07-14 Electronic device including host box and one or more extension boxes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210004711A KR102899906B1 (ko) 2021-01-13 2021-01-13 호스트 박스와 하나 이상의 확장 박스들을 포함한 전자 장치

Publications (2)

Publication Number Publication Date
KR20220102399A KR20220102399A (ko) 2022-07-20
KR102899906B1 true KR102899906B1 (ko) 2025-12-18

Family

ID=82322539

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210004711A Active KR102899906B1 (ko) 2021-01-13 2021-01-13 호스트 박스와 하나 이상의 확장 박스들을 포함한 전자 장치

Country Status (2)

Country Link
US (1) US12052822B2 (ko)
KR (1) KR102899906B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102835042B1 (ko) * 2023-10-25 2025-07-16 경북대학교 산학협력단 인공지능 연산 시스템 및 그 방법
KR102640468B1 (ko) * 2023-12-11 2024-02-27 주식회사 옵티멀 영상 표출시 디스플레이간 이질감이 없도록 전출력 동기화한 심리스 모듈형 멀티 스크린 피씨
KR102640470B1 (ko) * 2023-12-11 2024-02-27 주식회사 옵티멀 전출력 동기화한 화면 오정렬 방지 기능을 갖는 심리스 모듈형 멀티 스크린 피씨

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140016259A1 (en) * 2012-07-11 2014-01-16 Kuang-Lung Shih Multi-motherboard power data communication architecture for power supplies
US20180113822A1 (en) * 2016-10-26 2018-04-26 Seagate Technology Llc Carrier board with removable memory modules

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9098297B2 (en) 1997-05-08 2015-08-04 Nvidia Corporation Hardware accelerator for an object-oriented programming language
CA2287413A1 (en) 1997-05-08 1998-11-12 Iready Corporation Hardware accelerator for an object-oriented programming language
US7714870B2 (en) 2003-06-23 2010-05-11 Intel Corporation Apparatus and method for selectable hardware accelerators in a data driven architecture
US7174432B2 (en) 2003-08-19 2007-02-06 Nvidia Corporation Asynchronous, independent and multiple process shared memory system in an adaptive computing architecture
US7899913B2 (en) 2003-12-19 2011-03-01 Nvidia Corporation Connection management system and method for a transport offload engine
US7610483B2 (en) 2006-07-25 2009-10-27 Nvidia Corporation System and method to accelerate identification of hardware platform classes
US7627744B2 (en) 2007-05-10 2009-12-01 Nvidia Corporation External memory accessing DMA request scheduling in IC of parallel processing engines according to completion notification queue occupancy level
US10162007B2 (en) 2013-02-21 2018-12-25 Advantest Corporation Test architecture having multiple FPGA based hardware accelerator blocks for testing multiple DUTs independently
US9495723B2 (en) 2013-08-09 2016-11-15 Nvidia Corporation Scale-up techniques for multi-GPU passthrough
KR101980190B1 (ko) 2017-09-25 2019-05-21 서울대학교산학협력단 입출력 디바이스 제어 장치, 그것의 동작 방법 및 입출력 디바이스 제어 장치 드라이버의 동작 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140016259A1 (en) * 2012-07-11 2014-01-16 Kuang-Lung Shih Multi-motherboard power data communication architecture for power supplies
US20180113822A1 (en) * 2016-10-26 2018-04-26 Seagate Technology Llc Carrier board with removable memory modules

Also Published As

Publication number Publication date
US20220225506A1 (en) 2022-07-14
US12052822B2 (en) 2024-07-30
KR20220102399A (ko) 2022-07-20

Similar Documents

Publication Publication Date Title
JP7451614B2 (ja) オンチップの計算ネットワーク
KR102860886B1 (ko) 스케줄러, 스케줄러의 동작 방법 및 이를 포함한 가속기 시스템
KR102175044B1 (ko) 인공 신경망 역방향 트레이닝 실행용 장치와 방법
KR102899906B1 (ko) 호스트 박스와 하나 이상의 확장 박스들을 포함한 전자 장치
US11694075B2 (en) Partitioning control dependency edge in computation graph
KR102830488B1 (ko) 가속기, 가속기의 동작 방법 및 이를 포함한 가속기 시스템
JP2022511581A (ja) フレキシブルケーブル接続に基づく分散型aiトレーニングトポロジー
KR102787376B1 (ko) 가속기를 분할하는 전자 장치, 배치를 할당하는 전자 장치 및 그 동작 방법
KR20210080009A (ko) 가속기, 가속기의 동작 방법 및 가속기를 포함한 디바이스
KR102883346B1 (ko) 호스트 프로세서 및 가속기의 동작 방법 및 이들을 포함한 전자 장치
Maity et al. A Framework for Near Memory Processing with Computation Offloading and Load Balancing
KR20220049325A (ko) 가속기 및 이를 포함한 전자 장치
KR20210157624A (ko) 가속기, 가속기의 동작 방법 및 이를 포함한 가속기 시스템
KR20250081321A (ko) 메모리 디바이스, 메모리 디바이스의 동작 방법 및 메모리 디바이스를 위한 호스트 디바이스의 동작 방법
US12073317B2 (en) Method and system for processing a neural network
KR20230134877A (ko) 민감도-기반 양자화된 트레이닝을 수행하는 전자 장치 및 그 동작 방법
KR20220124551A (ko) 이종 하드웨어 타입의 가속기들을 포함한 전자 장치
KR102822747B1 (ko) 태스크 매니저, 뉴럴 프로세싱 장치 및 이의 태스크 디펜던시 처리 방법
KR102822745B1 (ko) 태스크 매니저, 뉴럴 프로세싱 장치 및 그의 태스크 디펜던시 체크 방법
KR102826263B1 (ko) 태스크 매니저, 뉴럴 프로세싱 장치 및 이의 태스크 디펜던시 세팅 방법
KR20240168814A (ko) Cxl 메모리 장치 및 컴퓨팅 시스템
CN120596339B (zh) 温度控制方法、装置、电子设备、存储介质及产品
KR102796809B1 (ko) 뉴럴 프로세서 및 그의 태스크 모니터링 방법
US20250077285A1 (en) Systems and methods for processing tasks via a heterogeneous memory system
KR20230057247A (ko) 양자 회로 시뮬레이션을 위한 저장장치 시스템

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

A201 Request for examination
PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

D22 Grant of ip right intended

Free format text: ST27 STATUS EVENT CODE: A-1-2-D10-D22-EXM-PE0701 (AS PROVIDED BY THE NATIONAL OFFICE)

PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

Q13 Ip right document published

Free format text: ST27 STATUS EVENT CODE: A-4-4-Q10-Q13-NAP-PG1601 (AS PROVIDED BY THE NATIONAL OFFICE)

R18 Changes to party contact information recorded

Free format text: ST27 STATUS EVENT CODE: A-5-5-R10-R18-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000