KR102285481B1 - NoC 반도체 장치의 태스크 매핑 방법 - Google Patents

NoC 반도체 장치의 태스크 매핑 방법 Download PDF

Info

Publication number
KR102285481B1
KR102285481B1 KR1020150050383A KR20150050383A KR102285481B1 KR 102285481 B1 KR102285481 B1 KR 102285481B1 KR 1020150050383 A KR1020150050383 A KR 1020150050383A KR 20150050383 A KR20150050383 A KR 20150050383A KR 102285481 B1 KR102285481 B1 KR 102285481B1
Authority
KR
South Korea
Prior art keywords
node
task
nodes
tasks
semiconductor device
Prior art date
Application number
KR1020150050383A
Other languages
English (en)
Other versions
KR20160121022A (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 KR1020150050383A priority Critical patent/KR102285481B1/ko
Priority to US14/831,382 priority patent/US10503559B2/en
Publication of KR20160121022A publication Critical patent/KR20160121022A/ko
Priority to US16/674,914 priority patent/US11113116B2/en
Application granted granted Critical
Publication of KR102285481B1 publication Critical patent/KR102285481B1/ko

Links

Images

Classifications

    • H04L29/08135
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)

Abstract

본 발명은 NoC 반도체 장치의 태스크 매핑 방법에 관한 것이다. 본 발명은 NoC 반도체 장치의 노드 제어를 위한 복수개의 태스크들 중 하나를 특정한 노드에 배치하는 단계; 상기 특정 노드에 배치되지 않은 나머지 태스크들의 태그값들을 산출하는 단계; 및 상기 태그값들에 따라 상기 나머지 태스크들을 다른 노드들에 배치하는 단계를 포함한다.

Description

NoC 반도체 장치의 태스크 매핑 방법 {method of mapping task of network-on-chip semiconductor device}
본 발명은 반도체 장치에 관한 것으로서, 특히 NoC 반도체 장치의 태스크 매핑 방법에 관한 것이다.
통신 기술의 발달로 IT (Information Technology) 분야가 급속하게 발전하고 있다. IT 분야의 발전에 있어서, 핵심 부품인 SoC(System-on-Chip) 장치의 집적도와 고성능화가 핵심 관건이 되고 있다. 특히, 영상 멀티미디어 분야에서 UHD(4K, 8K)급 해상도를 처리할 수 있는 씨모스 신호 처리기(CMOS Image Sensor: CIS) 및 영상 신호 처리기(Image Signal Processor: ISP)의 고기능, 고해상도, 및 고성능화로 인하여 데이터 트래픽이 급증하고 있다. SoC 장치에 있어서, TSV(through silicon via)를 이용하여 통신 효율을 높일 수 있는 NoC(Network-on-Chip) 반도체 장치가 개발되어 사용되고 있다. 그러나, NoC 반도체 장치는 높은 전력밀도로 인한 발열이 문제가 되고 있다.
이러한 발열 문제를 해결하기 위해 시스템의 TDP(thermal design power) 사양을 고려한 일반적인 하드웨어 방식의 냉각 장치가 개발되고 있으나, 근본적인 해결책이 되지는 않고 있다.
참증 문서(미국등록특허 번호: 8743703)는 스로틀링(throttling)을 통한 열 관리 방법을 개시하고 있으나, NoC 반도체 장치의 열 관리를 효율적으로 실행하기 위한 해결책은 개시하고 있지 않다.
본 발명은 NoC 반도체 장치에 발생하는 열에 효율적으로 대처할 수 있는 태스크 매핑 방법을 제공한다.
또한, 태스크 간의 통신 및 에너지 소모가 감소한다.
본 발명의 일 실시예에 따른 NoC 반도체 장치의 태스크 매핑 방법은,
(a) NoC 반도체 장치의 노드 제어를 위한 복수개의 태스크들 중 하나를 특정한 노드에 배치하는 단계; (b) 상기 특정 노드에 배치되지 않은 나머지 태스크들의 태그값들을 산출하는 단계; 및 (c) 상기 태그값들에 따라 상기 나머지 태스크들을 다른 노드들에 배치하는 단계를 포함하는 NoC 반도체 장치의 태스크 매핑 방법을 제공한다.
본 발명의 다른 실시예에 따른 NoC 반도체 장치의 태스크 매핑 방법은,
열 문제가 발생한 노드의 태스크를 이동시키기 위한 NoC 반도체 장치의 태스크 매핑 방법에 있어서, (a) 태스크가 설치되지 않은 노드들을 파악하는 단계; (b) 상기 태스크가 설치되지 않은 노드들의 홉 수를 산출하는 단계; (c) 상기 노드들 중 태스크가 이동 가능한 후보 노드들을 설정하는 단계; (d) 상기 후보 노드들 중 홉 수가 가장 낮은 후보 노드들부터 성능 오버헤드(performance overhead)를 분석하는 단계; (e) 상기 분석 결과에 따라 가장 적은 성능 오버헤드를 갖는 노드를 선택하는 단계; 및 (f) 상기 선택된 노드로 상기 태스크를 이동시키는 단계를 포함하는 NoC 반도체 장치의 태스크 매핑 방법을 제공한다.
상술한 바와 같이 본 발명에 따르면, 태스크의 수가 많아지더라도 평균 태스크 수에 비례한 발열 관리에 필요한 연산 시간이 감소된다.
도 1은 본 발명에 이용되는 NoC 반도체 장치를 개략적으로 도시한 사시도이다.
도 2는 도 1에 도시된 NoC 반도체 장치의 측단면도이다.
도 3은 도 2에 도시된 노드들 중 하나에 구비되는 노드 제어 장치의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 NoC 반도체 장치의 태스크 처리 방법을 도시한 흐름도이다.
도 5는 태스크의 특성을 나타내는 그래프이다.
도 6은 본 발명의 다른 실시예에 따른 NoC 반도체 장치의 태스크 처리 방법을 도시한 흐름도이다.
도 7 내지 도 8은 도 6에 도시된 태스크 처리 방법을 설명하기 위하여 2차원적으로 도시된 노드들의 상태도들이다.
이하, 첨부한 도면들을 참고하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예에 대하여 상세히 설명하기로 한다. 각 도면에 제시된 참조부호들 중 동일한 참조부호는 동일한 부재를 나타낸다.
본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되는 것은 아니며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
도 1은 본 발명에 이용되는 NoC 반도체 장치(101)를 개략적으로 도시한 사시도이고, 도 2는 도 1에 도시된 NoC 반도체 장치(101)의 측단면도이다. 도 1 및 도 2를 참조하여 NoC 반도체 장치(101)의 구조에 대해 설명하기로 한다.
도 1을 참조하면, NoC 반도체 장치(101)는 복수개의 반도체 칩들, 예컨대 3개의 칩들(110,120,130)이 적층된 구조를 갖는다. 3개의 반도체 칩들(110,120,130)은 각각 TSV (through silicon via)(113,123)를 통해 상호 전기적으로 연결된다. 즉, 최상층의 반도체 칩(110)과 중간의 반도체 칩(120)에 형성된 TSV(141,142)를 통해, 최상층의 반도체 칩(110)은 중간의 반도체 칩(120) 및 최하층의 반도체 칩(130)과 데이터 통신을 수행할 수 있다.
3개의 반도체 칩들(110,120,130) 각각에는 복수개의 반도체 소자들(111,121,131) 즉, 코아(core)들과 복수개의 노드들(112,122,132)이 형성된다. 노드들(112,122,132)에는 각각 데이터의 전송을 제어하기 위한 스위칭 소자(도시 안됨)가 구비될 수 있다. 반도체 소자들(111,121,131)은 컨트롤러(controller), 메모리, 신호 처리기 등과 같이, 특정한 기능을 수행하는 수단들로써 구성된다. 상기 스위칭 소자는 MOS(Metal Oxide Semiconductor) 트랜지스터 또는 바이폴라 트랜지스터를 이용하여 구성되는 전송 게이트, 논리 게이트, 인버터 등을 포함하며, 이 외에도 특정한 기능을 수행하는 소자를 포함할 수 있다. 노드들(112,122,132) 각각에는 복수개의 반도체 소자들(211)이 전기적으로 연결될 수 있다. 따라서, 1개의 반도체 소자는 적어도 하나의 노드를 통하여 다른 반도체 소자와 데이터 통신을 수행할 수 있다. 즉, 반도체 소자들(111,121,131)과 노드들(112,122,132)은 네트워크를 형성하여 상호 데이터 통신을 수행한다.
각 반도체 칩의 상부면과 하부면 중 하나에 복수개의 반도체 소자들(111,121,131)과 노드들(111,122,132)이 형성될 수도 있고, 상부면과 하부면 모두에 반도체 소자들(111,121,131)과 노드들(112,122,132)이 형성될 수도 있다. 이러한 선택은 반도체 장치(101)의 설계시에 정해질 수 있다.
복수개의 노드들(112,122,132)은 2차원 노드와 3차원 노드로 구분된다. 2차원 노드와 3차원 노드는 각각 복수개로 구성된다.
2차원 노드는 수평 통신을 위해 사용된다. 즉, 2차원 노드는 동일한 공간 예컨대, 1개의 반도체 칩 내에서 반도체 소자들이 서로 데이터 통신을 수행할 수 있도록 통신 경로를 제공한다.
3차원 노드는 수직 통신을 위해 사용된다. 즉, 3차원 노드는 다른 공간, 예컨대, 수직으로 적층된 복수개의 반도체 칩들에 있어서, 어느 하나의 반도체 칩에 형성된 반도체 소자가 다른 반도체 칩에 형성된 반도체 소자와 데이터 통신을 수행할 수 있도록 통신 경로를 제공한다.
최상층의 반도체 칩(110)의 하부면과 최하층의 반도체 칩(130)의 상부면에만 반도체 소자들과 스위칭 소자들이 형성될 경우에는, 최상층 칩(110)과 최하층 칩(130)은 TSV 구조를 갖지 않아도 된다.
이와 같이, 반도체 소자들(111,121,131)은 복수개의 노드들(112,122,132)을 통해서 1개의 반도체 칩 내에서 수평으로 데이터 통신을 수행할 수도 있고, 수직으로 적층된 반도체 칩들(110,120,130)간에 수직으로 데이터 통신을 수행할 수도 있다.
도 1에는 NoC 반도체 장치(101)에 설명의 편의상 3개의 반도체 칩들(110,120,130)이 적층되어 있는 구조로 도시되어 있으나, 이는 예시에 불과하며, 2개 또는 4개 이상의 적층된 반도체 칩들로 구성될 수 있다.
도 2를 참조하면, 반도체 칩(110,120,130)에는 복수개의 반도체 소자들(111,121,131)과 복수개의 비어 라인(via line)들(141,142)이 장착된다.
복수개의 비어 라인들(141,142)은 복수개의 반도체 소자들(111,121,131)이 상하간에 데이터 통신을 수행할 수 있도록 통신 경로를 제공한다.
복수개의 비어 라인들(141,142)은 반도체 칩들(110,120,130)에 형성된 배선들(113,123,133)을 통하여 반도체 소자들(111,121,131)과 전기적으로 연결된다.
이와 같이, 하나의 반도체 소자는 비어 선들(141,142)과 배선들(113,123,133)을 통하여 다른 반도체 소자와 수평적으로 또는 수직적으로 데이터 통신을 수행할 수 있다.
도 3은 도 1에 도시된 노드들(112,122,132) 중 하나에 구비되는 노드 제어 장치(300)의 블록도이다. 도 3을 참조하면, 노드 제어 장치(300)는 라우터(router)(310), 프로세서(processor)(330) 및 열 제어부(320)를 구비한다.
라우터(310)는 인접한 노드 제어 장치들의 IP(Internet Protocol)들의 정보를 공유하고, 연결된 노드들을 조사하여 목표 노드를 검출한다.
프로세서(330)는 온도 센서(도시안됨)를 구비한다. 상기 온도 센서는 대응되는 노드의 온도를 감지한다. 프로세서는(330) 상기 온도 센서가 감지한 노드의 온도를 열 제어부(320)로 전송한다.
열 제어부(320)는 라우터(310)와 프로세서(330)에 연결된다. 열 제어부(320)는 대응되는 노드의 온도를 관리하고, 상기 노드의 온도에 따라 대응되는 노드와 목표 노드 사이의 통신 경로 설정 및 연결을 제어한다.
열 제어부(320)는 프로세서(330)로부터 받은 신호를 분석하여 대응되는 노드의 온도를 파악하고, 그에 따라 상기 노드의 열을 제어한다. 즉, 상기 노드에 핫 스팟(hot spot)과 같은 열 문제가 발생하면, 즉, 노드의 온도가 임계 온도에 도달하면, 노드를 비상 노드로 설정한다. 비상 노드로 설정된 노드는 열 위험 상태로 분류되어 통신 노드로서 사용되지 않는다. 즉, 비상 노드는 다른 노드와 연결되지 않는다.
이와 같이, 열 제어부(320)는 상기 온도 센서를 이용하여 노드의 온도를 신속히 파악하고, 노드에 핫 스팟과 같은 열 문제가 발생하여 노드의 온도가 임계 온도에 도달하면, 노드의 사용을 제한함으로써, 노드의 열 관리를 실행한다. 따라서, 노드의 열 위험 상태에 대한 즉각적인 열관리의 실행이 가능하다.
도 4는 본 발명의 일 실시예에 따른 NoC 반도체 장치의 태스크 처리 방법을 도시한 흐름도이다. 도 4를 참조하면, 태스크 처리 방법은 제1 내지 제4 단계들(411~442)을 포함한다. 도 1 내지 도 3을 참조하여 도 4에 도시된 태스크 처리 방법을 설명하기로 한다.
제1 단계(411)로써, NoC 반도체 장치(101)의 노드 제어를 위한 복수개의 태스크들 중 하나를 특정한 노드에 배치한다. 제1 단계(411)는 상기 태스크들을 일 열로 배열하는 단계, 및 상기 태스크들 중 첫번째 태스크를 선택하여 상기 특정 노드에 배치하는 단계를 포함한다.
구체적으로, 복수개의 태스크들을 나란히 배열한다. 예컨대, 태스크들은 일 열로 배열될 수 있다. 이 외에도 태스크들의 배열 방법은 다양한 형태로 실행될 수 있다.
태스크들을 효율적으로 배열하기 위해서는 태스크 간의 통신 패턴과 통신 특성을 고려해야 한다. 도 5를 참조하면, 태스크 특성 그래프(G)는 G=<T, W>로 표현될 수 있다. 이 때, v(ti∈v)는 태스크를 나타내고, wij(wij∈W)는 태스크(ti)에서 태스크(tj)로 데이터를 보내는 통신을 나타낸다.
각각의 태스크 특성(ti)은 4개의 튜플(tuple)들(ti=<idi,ei,di,ri>)로 이루어진다. 이 때, idi는 태스크 식별자(identifier), ei는 태스크 실행시간 (execution time) 또는 연산 요구량 (computation requirement), di는 각 태스크의 마감시간(deadline), ri는 각 ti에 연관된 하위 태스크 리스트를 나타낸다. 이 때, 3개의 튜플들(ei,di,ri)은 실행할 어플리케이션에 의해 정의된다.
3차원 NoC 반도체 장치(101)의 네트워크로써 3차원 메시(mesh) 형태의 네트워크-온-칩 (NoC)을 사용한다. 이 때, 태스크들 사이의 통신 패턴 및 특성을 고려하여 3차원 NoC 반도체 장치(101)에 존재하는 노드들(112,122,132)들의 배치 상태 및 연결 상태를 정의해야 한다. 도 2에 도시된 NoC 반도체 장치(101)의 토폴로지를 표현하기 위한 그래프(T)는 T = <P, L>로 나타낼 수 있다. 이 때, 도 2의 노드(Pi,j,k∈P)는 3차원 NoC 반도체 장치(101)의 각 노드의 x, y, Z 좌표로써 나타내고, {(lv,lh)L}는 수평 및 수직간의 링크를 나타내며 동시에 링크의 대역폭을 나타낸다.
매핑(mapping) 함수는 노드의 어플리케이션에 존재하는 모든 태스크(T={t1,t2,…,수})에 대해 모든 노드(P={p0,0,0,…,pi,j,k})에 있어 다음 수식과 같이 사용된다.
map(tm)=pi,j,k,∀tm∈T,∃pi,j,k∈P
T(n)≤P(n)일 때, 매핑이 정의된다.
제2 단계(421)로써, 상기 특정 노드에 배치되지 않은 나머지 태스크들의 태그값들을 산출한다. 태그값(Tagi)은 아래 수식을 이용하여 산출할 수 있다.
Figure 112015034855982-pat00001
여기서, a는 기준값, ei는 태스크 실행 시간(execution time) 또는 연산 요구량(computation requirement), ri는 태스크 특성에 연관된 하위 태스크 리스트, wij는 i번째 태스크에서 j번째 태스크로 데이터를 보내는 통신의 평균값을 나타낸다. 기준값(a)은 노드의 어플리케이션 내의 전체 태스크들의 식별자(idi)를 고려하여 정해진다.
상기 산출되는 태그값을 이용하여 노드의 어플리케이션에 속한 태스크가 연산과 통신 중 어느 것에 더 치중해 있는지를 판별할 수 있다. 이에 더하여 태그값이 한쪽으로 편중될 수 있음을 고려하여 각 태스크의 데드라인(di)과, 태스크 간의 통신(wij)의 평균값을 고려한 매핑 방향의 분포를 고르게 보장해 주는 기준값(a)을 곱해 태그값을 정의할 수 있다.
하위 태스크 간의 통신에 집중된 태스크의 경우 수직층으로 태스크 매핑을 하면 TSV를 사용하여 통신 효율을 높일 수 있다. 반대로, 연산량이 많은 태스크의 경우 전력 밀도를 고려하여 가능한 수평으로 태스크 매핑을 하여 열 방출을 균등하게 할 수 있다.
제3 단계(431~462)로써, 상기 태그값들에 따라 나머지 태스크들을 다른 노드들에 배치한다.
구체적으로 제3 단계(431~462)는 상기 태그값들을 "1"과 비교하는 단계(431)와, 상기 태그값이 "1"보다 크면 상기 태그값을 갖는 태스크를 상기 복수개의 칩들 중 동일칩의 노드에 배치하고(441), 상기 태그값이 "1" 이하이면 상기 태그값을 갖는 태스크를 상기 복수개의 칩들 중 다른 칩에 배치하는 단계(442)를 포함한다.
구체적으로, 상기 태그값들은 각각 1과 비교된다. 그 결과, 태그값이 1보다 크면, 이 태그값에 해당하는 태스크를 상기 특정 노드가 위치하는 반도체 칩, 즉, 상기 특정 노드가 구비된 반도체 칩 내의 다른 노드로 전송한다. 만일, 상기 비교되는 태그값이 1 이하이면, 이 태그값에 해당하는 태스크를 상기 특정 노드가 위치하는 반도체 칩과 다른 반도체 칩, 즉, 상기 특정 노드가 구비된 반도체 칩이 아닌 다른 반도체 칩의 노드로 전송한다.
이 후에, 상기 비교되는 태그값이 마지막인지 확인하고(451), 마지막이면, 태스크 처리 방법을 종료하고, 마지막이 아니면, 마지막이 될 때까지, 단계(431)를 반복한다.
상술한 바와 같이, 본 발명에 따른 태스크 매핑 방법은 정적 태스크 매핑 방법의 복잡도를 줄이고 동시에 동적 태스크 매핑 방법의 핫스팟(hot spot) 빈도를 줄일 수 있는 준 정적 태스크 매핑 방법에 해당한다. 본 발명에 따른 태스크 매핑 방법을 이용함으로써, 태스크의 수가 많아지더라도 평균 태스크 수에 비례한 발열 관리에 필요한 연산 시간이 감소된다.
도 6은 본 발명의 다른 실시예에 따른 NoC 반도체 장치(101)의 태스크 처리 방법을 도시한 흐름도이고, 도 7 내지 도 8은 도 6에 도시된 태스크 처리 방법을 설명하기 위하여 2차원적으로 도시된 노드들의 상태도들이다. 도 6을 참조하면, 태스크 처리 방법은 제1 내지 제6 단계들(611~661)을 포함한다. 도 1 내지 도 3 및 도 7 내지 도 10을 참조하여 도 6에 도시된 태스크 처리 방법을 설명하기로 한다.
제1 단계(611)로써, 태스크가 설치되지 않은 노드들을 파악한다. 도 7을 참조하면, 5×5 매트릭스 배열을 갖는 노드들 중에서 10개의 노드들에 태스크들(T0~T9)이 설치되어 있고, 나머지 노드들에는 태스크가 설치되어 있지 않다는 것을 알 수 있다. 따라서, 태스크들(T0~T9)이 설치되지 않은 모든 노드들로 태스크가 이동 가능하다.
제2 단계(621)로써, 상기 태스크가 설치되지 않은 노드들의 홉 수를 산출한다. 도 8을 참조하면, 열 문제가 발생한 노드의 태스크(T8)를 기준으로 태스크가 설치되지 않은 노드들에 대한 홉 수를 산출한다. 즉, 태스크가 수평 또는 수직으로 한 번에 이동 가능한 노드의 홉 수는 1 홉이고, 2번에 걸쳐서 이동 가능한 노드의 홉 수는 2홉이다. 도 8에서는 가장 먼 거리에 있는 노드들의 홉 수는 4홉이다.
제3 단계(631)로써, 상기 노드들 중 상기 태스크가 이동 가능한 후보 노드들을 설정한다. 즉, 열 문제가 발생한 노드의 태스크가 이동 가능한 후보 노드들을 설정한다. 구체적으로, 특정한 노드(예컨대, 도 8의 태스크 T8)에서 핫 스팟과 같은 열 문제가 발생하면, 상기 노드의 태스크는 열 문제가 발생하지 않는 다른 노드로 이동되어야 한다. 이를 위해, 상기 태스크가 이동 가능한 노드를 선택하기 위해, 후보군 즉, 후보 노드들을 설정한다.
상기 후보 노드들을 설정하기 위하여 노드에 관한 자료가 저장되어 있는 룩업 테이블을 참조할 수 있다. 룩업 테이블에는 각 노드의 태스크 연산 시작 시점의 온도, 한계 온도(thermal threshold;Tth) 에 도달하는 시점까지의 잔여 연산시간(ei')을 포함한다.
도 4에 따른 태스크 매핑과 동시에 일정 주기마다 NoC 반도체 장치(101)의 온도를 측정하여 룩업 테이블(look-up table)을 생성한다. 룩업 테이블에 사용되는 온도식으로써, 각 노드(Pi,j,s)의 온도(Thi,j,k)는 아래 수식으로 정의된다.
Figure 112015034855982-pat00002
여기서, Tamb는 주변 온도를, m은 NoC 반도체 장치의 칩들의 층수를 나타낸다. Ri,j,k는 노드의 열 저항 비례 상수, A는 각 노드의 면적, Pi,j,s와 PRi,j,s는 각각 (i,j,s) 위치의 노드에서의 태스크 연산에 따른 전력 소모량과 비트 당 라우터에서 소모되는 전력을 나타낸다.
상기 특정 노드에 열 문제가 발생할 경우, 우선적으로 행하는 작업은 태스크를 이동시킬 노드에서 또 다시 열 문제가 발생하지 않아야 하는 것이다. 반복된 태스크 이동이 생길 경우, 성능 저하가 불가피하기 때문이다. 이를 위해 룩업 테이블에서 얻은 초기온도의 값과 잔여 연산시간을 이용하여 태스크를 이동해도 되는 후보 노드를 선택한다. 아래 수식을 이용하여 후보 노드들을 설정하며, 아래 수식에서 1의 값을 갖는 Pq,r,s가 열 문제가 발생하지 않을 후보 노드로 설정된다.
Figure 112015034855982-pat00003
도 9를 참조하면, 2홉을 가진 노드들로부터 4홉을 가진 노드들이 후보 노드들로써 설정된다. 도 9에서, "o" 표시가 되어 있는 노드는 후보 노드이고, "x" 표시가 되어 있는 노드는 후보 노드가 아니다. 구체적으로, 후보 노드들 중, 2홉을 가진 노드가 1개, 3홉을 가진 노드들이 5개, 4홉을 가진 노드들이 3개이다.
제4 단계(641)로써, 상기 후보 노드들 중 홉수가 가장 낮은 후보 노드들부터 성능 오버헤드(performance overhead)를 분석한다. 이 때, 한 홉씩 증가시키면서 상기 성능 오버헤드를 분석한다. 홉 수가 증가할수록 성능 오버헤드가 나빠질 경우에는 상기 높은 홉 수를 가진 노드에 대한 성능 오버헤드의 분석을 중지한다.
제5 단계(651)로써, 상기 성능 오버헤드의 분석 결과에 따라 가장 낮은 성능 오버헤드를 갖는 노드를 선택한다. 도 10을 참조하면, 도면의 좌측에서 2번째 열과 위에서부터 5번째줄에 위치한 노드가 가장 낮은 성능 오버헤드를 갖는 것으로 선택된다.
여기서, 4홉을 가진 노드들의 성능 오버헤드를 분석한 결과, 성능 오버헤드가 3홉을 가진 노드들에 비해 더 이상 높아지지 않기 때문에, 그 이후의 홉 수를 가진 노드들에 대한 성능 오버헤드 분석은 진행되지 않는다. 즉, 3홉을 가진 노드들에 비해 4홉을 가진 노드들의 홉 수가 나쁘다는 것은 3홉을 가진 노드들부터 홉 수가 증가할수록 성능 오버헤드가 나빠진다고 판단하기 때문이다.
제6 단계(661)로써, 상기 선택된 노드로 상기 열 문제가 발생한 노드의 태스크(T8)를 이동시킨다.
상술한 바와 같이, 상기 선택된 노드의 경우 일반적인 노드의 선택에 비해 한 홉만큼 지연(delay)이 발생하지만, 태스크 간의 통신 및 에너지 소모는 일반적인 방법에 비해 감소된다.
노드의 온도가 위험 상황에 도달할 때마다 즉, 핫 스팟 같은 열 문제가 발생할 때마다. 상기 노드에 대한 태스크 처리 방법을 반복한다.
본 발명은 도면들에 도시된 실시예들을 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이들로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.

Claims (12)

  1. (a) NoC 반도체 장치의 노드 제어를 위한 복수개의 태스크들 중 제1 태스크를 제1 칩의 제1 노드에 배치하는 단계, 상기 NoC 반도체 장치는 상기 제1 칩을 포함하는 복수의 적층 칩을 포함하고;
    (b) 상기 제1 노드에 배치되지 않은 복수개의 태스크들 중 제2 태스크들의 태그값들을 산출하는 단계; 및
    (c) 상기 태그값들에 따라 상기 제2 태스크들을 제2 노드에 배치하는 단계;를 포함하고,
    상기 제2 태스크들을 상기 제2 노드에 배치하는 단계는,
    상기 제2 태스크들의 상기 태그값들을 '1'과 비교하는 단계; 및
    상기 제2 태스크들의 상기 태그값들이 '1'보다 클 때 상기 제2 태스크들을 상기 제1 칩의 상기 제2 노드에 배치하고, 상기 태그값들이 '1'보다 같거나 작은 경우 상기 제2 태스크들을 제2 칩의 상기 제2 노드에 배치하는 것을 특징으로 하는 NoC 반도체 장치의 태스크 매핑 방법.
  2. 제1항에 있어서, 상기 (a) 단계는,
    (a-1) 상기 태스크들을 일 열로 배열하는 단계; 및
    (a-2) 상기 배열된 태스크들 중 상기 제1 태스크를 선택하여 상기 제1 노드에 상기 제1 태스크를 배치하는 단계를 포함하는 것을 특징으로 하는 NoC 반도체 장치의 태스크 매핑 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 복수개의 칩들에 형성된 노드들은 상기 칩들에 형성된 TSV (Through Silicon Via)를 통해서 상기 칩들간에 데이터 통신을 수행하는 것을 특징으로 하는 NoC 반도체 장치의 태스크 매핑 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 태그값은 수학식 (
    Figure 112015034855982-pat00004
    ; a는 기준값, ei는 태스크 실행 시간 또는 연산 요구량, ri는 태스크 특성에 연관된 하위 태스크 리스트고, wij는 i번째 태스크에서 j번째 태스크로 데이터를 보내는 통신의 평균값을 나타냄)을 이용하여 산출하는 것을 특징으로 하는 NoC 반도체 장치의 태스크 매핑 방법.
  7. 제1항에 있어서,
    상기 노드에는 상기 노드의 열을 감지하고 관리하는 노드 제어 장치를 배치하는 것을 특징으로 하는 NoC 반도체 장치의 태스크 매핑 방법.
  8. 다수의 노드들 중 제1 노드의 태스크를 이동시키기 위한 NoC 반도체 장치의 태스크 매핑 방법에 있어서,
    (a) 태스크가 설치되지 않은 제2 노드들을 파악하는 단계;
    (b) 상기 제1 노드 내지 상기 제2 노드들로부터 노드들의 홉 수를 산출하는 단계;
    (c) 상기 제2 노드들 중 태스크가 이동 가능한 후보 노드들을 설정하는 단계;
    (d) 상기 홉 수와 관련하여 오름차순으로 상기 후보 노드들의 성능 오버헤드(performance overhead)를 분석하는 단계;
    (e) 상기 분석 결과에 따라 가장 적은 성능 오버헤드를 갖는 목표 노드를 선택하는 단계; 및
    (f) 상기 목표 노드에 상기 태스크를 이동시키는 단계를 포함하는 것을 특징으로 하는 NoC 반도체 장치의 태스크 매핑 방법.
  9. 제8항에 있어서,
    상기 홉 수가 증가할수록 성능 오버헤드가 나빠질 경우에는 상기 성능 오버헤드의 분석을 중지하는 것을 특징으로 하는 NoC 반도체 장치의 태스크 매핑 방법.
  10. 제8항에 있어서,
    상기 후보 노드들을 설정하는 단계는, 상기 제1 노드 및 상기 제2 노드들에 관한 자료가 저장되어 있는 룩업 테이블을 참조하는 것을 특징으로 하는 NoC 반도체 장치의 태스크 매핑 방법.
  11. 제10항에 있어서,
    상기 룩업 테이블은 각 노드의 태스크 연산 시작 시점의 온도, 한계 온도 (thermal threshold)에 도달하는 시점까지의 잔여 시간을 포함하는 것을 특징으로 하는 NoC 반도체 장치의 태스크 매핑 방법.
  12. 제8항에 있어서,
    상기 (d) 단계에서, 한 홉씩 증가시키면서 상기 성능 오버헤드를 분석하는 것을 특징으로 하는 NoC 반도체 장치의 태스크 매핑 방법.
KR1020150050383A 2015-04-09 2015-04-09 NoC 반도체 장치의 태스크 매핑 방법 KR102285481B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150050383A KR102285481B1 (ko) 2015-04-09 2015-04-09 NoC 반도체 장치의 태스크 매핑 방법
US14/831,382 US10503559B2 (en) 2015-04-09 2015-08-20 Task mapping method of network-on-chip semiconductor device
US16/674,914 US11113116B2 (en) 2015-04-09 2019-11-05 Task mapping method of network-on-chip semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150050383A KR102285481B1 (ko) 2015-04-09 2015-04-09 NoC 반도체 장치의 태스크 매핑 방법

Publications (2)

Publication Number Publication Date
KR20160121022A KR20160121022A (ko) 2016-10-19
KR102285481B1 true KR102285481B1 (ko) 2021-08-02

Family

ID=57111329

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150050383A KR102285481B1 (ko) 2015-04-09 2015-04-09 NoC 반도체 장치의 태스크 매핑 방법

Country Status (2)

Country Link
US (2) US10503559B2 (ko)
KR (1) KR102285481B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107688709B (zh) * 2017-08-31 2019-12-03 电子科技大学 一种片上网络NoC的寿命优化映射方法
CN107395507B (zh) * 2017-08-31 2019-09-03 电子科技大学 一种用于片上网络NoC的测试感知映射方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080052387A1 (en) 2006-08-22 2008-02-28 Heinz John M System and method for tracking application resource usage
US20090051050A1 (en) 2007-08-24 2009-02-26 Actel Corporation corner i/o pad density
US20110173622A1 (en) 2010-01-08 2011-07-14 Samsung Electronics Co., Ltd. System and method for dynamic task migration on multiprocessor system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8020163B2 (en) * 2003-06-02 2011-09-13 Interuniversitair Microelektronica Centrum (Imec) Heterogeneous multiprocessor network on chip devices, methods and operating systems for control thereof
US8224639B2 (en) * 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
US7506297B2 (en) * 2004-06-15 2009-03-17 University Of North Carolina At Charlotte Methodology for scheduling, partitioning and mapping computational tasks onto scalable, high performance, hybrid FPGA networks
US7533244B2 (en) * 2006-05-09 2009-05-12 Le Nguyen Tran Network-on-chip dataflow architecture
US7701252B1 (en) * 2007-11-06 2010-04-20 Altera Corporation Stacked die network-on-chip for FPGA
US9081742B2 (en) * 2009-04-27 2015-07-14 Intel Corporation Network communications processor architecture
US8787379B2 (en) * 2011-02-02 2014-07-22 Futurewei Technologies, Inc. Destination-based virtual channel assignment in on-chip ring networks
WO2014127103A1 (en) * 2013-02-15 2014-08-21 Washington State University Network-on-chip based computing devices and systems
CN104156267B (zh) * 2013-05-14 2017-10-10 华为技术有限公司 任务分配方法、任务分配装置及片上网络
KR20150044113A (ko) * 2013-10-16 2015-04-24 한국전자통신연구원 멀티 태스크 할당 장치 및 그 방법
WO2015163897A1 (en) * 2014-04-24 2015-10-29 Empire Technology Development Llc Core prioritization for heterogeneous on-chip networks
US9876708B2 (en) * 2014-06-10 2018-01-23 Washington State University Network-on-chip computing systems with wireless interconnects
US9979668B2 (en) * 2014-12-22 2018-05-22 Intel Corporation Combined guaranteed throughput and best effort network-on-chip
KR102255334B1 (ko) * 2015-03-11 2021-05-24 삼성전자주식회사 전자 장치에서 네트워크 온 칩을 생성하는 장치 및 방법
FR3035243B1 (fr) * 2015-04-20 2018-06-29 Commissariat A L'energie Atomique Et Aux Energies Alternatives Placement d'une tache de calcul sur un processeur fonctionnellement asymetrique

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080052387A1 (en) 2006-08-22 2008-02-28 Heinz John M System and method for tracking application resource usage
US20090051050A1 (en) 2007-08-24 2009-02-26 Actel Corporation corner i/o pad density
US20110173622A1 (en) 2010-01-08 2011-07-14 Samsung Electronics Co., Ltd. System and method for dynamic task migration on multiprocessor system

Also Published As

Publication number Publication date
US10503559B2 (en) 2019-12-10
US11113116B2 (en) 2021-09-07
US20160299871A1 (en) 2016-10-13
KR20160121022A (ko) 2016-10-19
US20200125415A1 (en) 2020-04-23

Similar Documents

Publication Publication Date Title
Salamat et al. A resilient routing algorithm with formal reliability analysis for partially connected 3D-NoCs
KR101554113B1 (ko) 장치 집합체에서 리소스 활용의 최적화
US10025506B2 (en) Semiconductor device having network-on-chip structure and routing method thereof
JP6751819B2 (ja) パケット伝送
Dahir et al. Highly adaptive and deadlock‐free routing for three‐dimensional networks‐on‐chip
Foroutan et al. Assignment of vertical-links to routers in vertically-partially-connected 3-D-NoCs
Agyeman et al. Heterogeneous 3d network-on-chip architectures: area and power aware design techniques
US11113116B2 (en) Task mapping method of network-on-chip semiconductor device
Dash et al. ATAR: An adaptive thermal-aware routing algorithm for 3-D network-on-chip systems
JP2016032288A (ja) バッファを有しないnocのデータ処理方法、及びnoc電子素子
Taheri et al. ON–OFF: a reactive routing algorithm for dynamic thermal management in 3D NoCs
Agyeman et al. Efficient routing techniques in heterogeneous 3d networks-on-chip
Taheri et al. Cool elevator: A thermal-aware routing algorithm for partially connected 3D NoCs
Nezarat et al. Thermal-aware routing algorithm in partially connected 3D NoC with dynamic availability for elevators
Mohseni et al. A deadlock-free routing algorithm for irregular 3D network-on-chips with wireless links
Wang et al. HRC: A 3D NoC architecture with genuine support for runtime thermal-aware task management
CN105391658A (zh) 一种基于物理位置感知的集合通信方法
Huang et al. Thermal-aware router-sharing architecture for 3D network-on-chip designs
Kumar et al. Immediate neighborhood temperature adaptive routing for dynamically throttled 3-D networks-on-chip
Hassanpour et al. Temperature control in three‐network on chips using task migration
Safari et al. WiP: floating xy-yx: an efficient thermal management routing algorithm for 3D NoCs
Mukherjee et al. Thermal-aware detour routing in 3D NoCs
WeldeZion et al. Automated power and latency management in heterogeneous 3d nocs
Afsharpour et al. Performance/energy aware task migration algorithm for many‐core chips
Kaleem et al. Thermal-aware dynamic weighted adaptive routing algorithm for 3D network-on-chip

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant