KR102616212B1 - 다수의 컴퓨팅 코어들상의 데이터 드라이브 스케줄러 - Google Patents
다수의 컴퓨팅 코어들상의 데이터 드라이브 스케줄러 Download PDFInfo
- Publication number
- KR102616212B1 KR102616212B1 KR1020187021914A KR20187021914A KR102616212B1 KR 102616212 B1 KR102616212 B1 KR 102616212B1 KR 1020187021914 A KR1020187021914 A KR 1020187021914A KR 20187021914 A KR20187021914 A KR 20187021914A KR 102616212 B1 KR102616212 B1 KR 102616212B1
- Authority
- KR
- South Korea
- Prior art keywords
- threads
- delete delete
- correlation
- execution
- schedule
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
도 1은 하나 이상의 개시된 실시예가 구현될 수 있는 예시적인 디바이스의 블록도이다;
도 2는 멀티코어 프로세서의 다수의 코어들상에서의 실행을 위한 다수의 쓰레드들을 스케줄링하기 위한 예시 방법을 예시하는 플로우 차트이다;
도 3은 멀티코어 프로세서의 다수의 코어들상에서의 실행을 위한 다수의 쓰레드들을 스케줄링하기 위한 예시 방법을 예시하는 플로우 차트이다;
도 4는 데이터 드라이브 스케줄링을 구현하는 예제 시스템을 예시하는 블럭 다이어그램이다;
도 5는 상관관계 어레이의 예시 상태를 예시하는 표다;
도 6은 데이터 드라이브 스케줄링을 구현하는 다른 예제 시스템을 예시하는 블럭 다이어그램이다;
도 7은 상관관계 어레이의 다른 예시 상태를 예시하는 표다;
도 8은 데이터 드라이브 스케줄링을 구현하는 다른 예제 시스템을 예시하는 블럭 다이어그램이다;
도 9는 상관관계 어레이의 다른 예시 상태를 예시하는 표다;
도 10은 데이터 드라이브 스케줄링을 구현하는 다른 예제 시스템을 예시하는 블럭 다이어그램이다; 및
도 11은 상관관계 어레이의 다른 예시 상태를 예시하는 표다.
Claims (51)
- 프로세서의 복수의 컴퓨팅 코어들의 데이터 드라이브 스케줄링(data driven scheduling)을 위한 방법으로서, 상기 방법은:
디폴트 스케줄(default schedule)에 따라 상기 복수의 컴퓨팅 코어들상에서 복수의 쓰레드들을 실행시키는 단계;
상기 복수의 쓰레드들의 다양한 가능한 서브세트들에 대한 상관 값(correlation value)들을 결정하기 위해 상기 실행에 기초하여 상기 복수의 쓰레드들을 분석하는 단계 - 상기 상관 값들은 각각의 서브세트 내의 쓰레드들 간의 상관관계(correlation)들을 나타내고, 상기 상관관계들은 상기 복수의 쓰레드들의 상기 서브세트들 간의 메모리 재사용(memory re-use)의 양(amount)을 포함함 -;
상기 상관 값들에 기초하여 데이터 드라이브 스케줄을 생성하는 단계 - 상기 복수의 쓰레드들의 상기 서브세트들 각각 내의 쓰레드들은, 상기 복수의 쓰레드들 전부의 실행에 걸쳐 상기 상관 값들이 최대화되도록 상기 복수의 컴퓨팅 코어들 상에서 병렬로 실행되도록 스케줄링됨 -; 및
상기 데이터 드라이브 스케줄에 따라 상기 복수의 컴퓨팅 코어들상에서 상기 복수의 쓰레드들을 실행시키는 단계를 포함하는, 방법. - 삭제
- 삭제
- 청구항 1에 있어서, 상기 디폴트 스케줄은 라운드-로빈(round-robin) 스케줄을 포함하는, 방법.
- 청구항 1에 있어서, 상기 상관관계들을 결정하기 위해 상기 복수의 쓰레드들을 분석하는 단계는:
데이터-드라이브 스케줄링 회로부에 의해, 상기 컴퓨팅 코어들상에서의 상기 복수의 쓰레드들의 적어도 일부의 실행에 기인한 상기 컴퓨팅 코어들에 의한 메모리 액세스들의 정보를 수신하는 단계; 및
상기 정보에 기초하여 상기 상관관계들을 도출하는 단계(deriving)를 포함하는, 방법. - 청구항 5에 있어서, 상기 메모리는 상기 복수의 컴퓨팅 코어들간에 공유되는, 방법.
- 청구항 5에 있어서, 상기 메모리는 캐시 메모리를 포함하는, 방법.
- 청구항 1에 있어서, 상기 복수의 쓰레드들의 각각이 상기 컴퓨팅 코어들상에서 실행을 완료된 후에 상기 데이터 드라이브 스케줄이 생성되는, 방법.
- 청구항 1에 있어서,
상기 컴퓨팅 코어들상에서 상기 복수의 쓰레드들의 실행이 시간 기간동안 진행된 후에 상기 데이터 드라이브 스케줄이 생성되는, 방법. - 청구항 1에 있어서, 상기 복수의 쓰레드들 전부가 상기 컴퓨팅 코어들상에서 실행을 완료하기 전에 상기 데이터 드라이브 스케줄이 생성되는, 방법.
- 데이터-드라이브 스케줄링(data-driven scheduling)을 위해 구성된 프로세서에 있어서, 상기 프로세서는
복수의 컴퓨팅 코어들;
상기 컴퓨팅 코어들의 각각에 의해 공유되는 메모리;
디폴트 스케줄(default schedule)에 따라 상기 복수의 컴퓨팅 코어들상에서 실행하기 위한 복수의 쓰레드들을 디스패치(dispatch)하도록 구성된 디스패칭 회로부(dispatching circuitry);
상기 복수의 쓰레드들의 다양한 가능한 서브세트들에 대한 상관 값들을 결정하기 위해 상기 실행에 기초하여 상기 복수의 쓰레드들을 분석하도록 구성된 상관관계 회로부 - 상기 상관 값들은 각각의 서브세트 내의 쓰레드들 간의 상관관계들을 나타내고, 상기 상관관계들은 상기 복수의 쓰레드들의 상기 서브세트들 간의 메모리 재사용의 양을 포함함 -; 및
상기 상관 값들에 기초하여 데이터 드라이브 스케줄을 결정하도록 구성된 스케줄링 회로부 - 상기 복수의 쓰레드들의 상기 서브세트들 각각 내의 쓰레드들은, 상기 복수의 쓰레드들 전부의 실행에 걸쳐 상기 상관 값들이 최대화되도록 상기 복수의 컴퓨팅 코어들 상에서 병렬로 실행되도록 스케줄링됨 - 를 포함하는, 상기 프로세서를 포함하되,
상기 디스패칭 회로부는 상기 데이터 드라이브 스케줄에 따라 상기 복수의 컴퓨팅 코어들상에서 실행하기 위한 상기 복수의 쓰레드들을 디스패치하도록 더 구성된, 프로세서. - 삭제
- 삭제
- 청구항 11에 있어서, 상기 디폴트 스케줄은 라운드-로빈(round-robin) 스케줄을 포함하는, 프로세서.
- 청구항 11에 있어서, 상기 상관관계 회로부는:
상기 컴퓨팅 코어들상에서의 상기 복수의 쓰레드들의 적어도 일부의 실행에 기인한 상기 컴퓨팅 코어들에 의한 메모리 액세스들의 정보를 수신하고; 그리고
상기 정보에 기초하여 상기 상관관계들을 도출하도록 더 구성된, 프로세서. - 청구항 15에 있어서, 상기 메모리는 상기 복수의 컴퓨팅 코어들간에 공유되는, 프로세서.
- 청구항 15에 있어서, 상기 메모리는 캐시 메모리를 포함하는, 프로세서.
- 청구항 11에 있어서, 상기 프로세서는:
상기 데이터 드라이브 스케줄이 상기 디폴트 스케줄과 상이한지 여부를 결정하고; 및
만약 상기 데이터 드라이브 스케줄이 상기 디폴트 스케줄과 상이하면:
상기 컴퓨팅 코어들의 실행을 선점하고;
현재 콘텍스트를 저장하고;
상기 데이터 드라이브 스케줄에 따라 상기 복수의 쓰레드들을 디스패치하도록 더 구성된 회로부를 포함하는, 프로세서. - 청구항 11에 있어서, 상기 복수의 쓰레드들의 각각이 상기 컴퓨팅 코어들상에서 실행을 완료된 후에 상기 데이터 드라이브 스케줄이 생성되는, 프로세서.
- 청구항 11에 있어서,
상기 컴퓨팅 코어들상에서 상기 복수의 쓰레드들의 실행이 시간 기간동안 진행된 후에 상기 데이터 드라이브 스케줄이 생성되는, 프로세서. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/981,257 | 2015-12-28 | ||
| US14/981,257 US10649810B2 (en) | 2015-12-28 | 2015-12-28 | Data driven scheduler on multiple computing cores |
| PCT/US2016/052710 WO2017116517A1 (en) | 2015-12-28 | 2016-09-20 | Data driven scheduler on multiple computing cores |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20180089550A KR20180089550A (ko) | 2018-08-08 |
| KR102616212B1 true KR102616212B1 (ko) | 2023-12-21 |
Family
ID=59086376
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020187021914A Active KR102616212B1 (ko) | 2015-12-28 | 2016-09-20 | 다수의 컴퓨팅 코어들상의 데이터 드라이브 스케줄러 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US10649810B2 (ko) |
| EP (1) | EP3398065B1 (ko) |
| JP (2) | JP2019501470A (ko) |
| KR (1) | KR102616212B1 (ko) |
| WO (1) | WO2017116517A1 (ko) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9378560B2 (en) * | 2011-06-17 | 2016-06-28 | Advanced Micro Devices, Inc. | Real time on-chip texture decompression using shader processors |
| US10558499B2 (en) * | 2017-10-26 | 2020-02-11 | Advanced Micro Devices, Inc. | Wave creation control with dynamic resource allocation |
| US12099867B2 (en) * | 2018-05-30 | 2024-09-24 | Advanced Micro Devices, Inc. | Multi-kernel wavefront scheduler |
| US10796472B2 (en) * | 2018-06-30 | 2020-10-06 | Intel Corporation | Method and apparatus for simultaneously executing multiple contexts on a graphics engine |
| KR102641520B1 (ko) * | 2018-11-09 | 2024-02-28 | 삼성전자주식회사 | 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 태스크 스케줄링 방법 |
| KR102161635B1 (ko) * | 2019-02-11 | 2020-10-06 | 서경대학교 산학협력단 | 범용 그래픽 처리장치 및 이의 스케쥴링 방법 |
| US11954757B2 (en) * | 2021-12-28 | 2024-04-09 | Advanced Micro Devices, Inc. | Method and apparatus for implementing a rasterizer in GPU operations |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6289369B1 (en) * | 1998-08-25 | 2001-09-11 | International Business Machines Corporation | Affinity, locality, and load balancing in scheduling user program-level threads for execution by a computer system |
| US6769017B1 (en) * | 2000-03-13 | 2004-07-27 | Hewlett-Packard Development Company, L.P. | Apparatus for and method of memory-affinity process scheduling in CC-NUMA systems |
| JP2002055966A (ja) * | 2000-08-04 | 2002-02-20 | Internatl Business Mach Corp <Ibm> | マルチプロセッサ・システム、マルチプロセッサ・システムに用いるプロセッサ・モジュール及びマルチプロセッシングでのタスクの割り当て方法 |
| GB0519981D0 (en) | 2005-09-30 | 2005-11-09 | Ignios Ltd | Scheduling in a multicore architecture |
| US8037465B2 (en) * | 2005-09-30 | 2011-10-11 | Intel Corporation | Thread-data affinity optimization using compiler |
| US20070143759A1 (en) | 2005-12-15 | 2007-06-21 | Aysel Ozgur | Scheduling and partitioning tasks via architecture-aware feedback information |
| US8495649B2 (en) | 2006-07-19 | 2013-07-23 | International Business Machines Corporation | Scheduling threads having complementary functional unit usage on SMT processors |
| CN101482831B (zh) | 2008-01-08 | 2013-05-15 | 国际商业机器公司 | 对工作线程与辅助线程进行相伴调度的方法和设备 |
| JP5324934B2 (ja) * | 2009-01-16 | 2013-10-23 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および情報処理方法 |
| JP5516744B2 (ja) * | 2010-08-27 | 2014-06-11 | 富士通株式会社 | スケジューラ、マルチコアプロセッサシステムおよびスケジューリング方法 |
| US8643656B2 (en) * | 2010-09-30 | 2014-02-04 | Nec Laboratories America, Inc. | Energy-aware task consolidation on graphics processing unit (GPU) |
| JP5692355B2 (ja) * | 2011-03-11 | 2015-04-01 | 日本電気株式会社 | コンピュータシステム、制御システム、制御方法および制御プログラム |
| JP2013150094A (ja) * | 2012-01-18 | 2013-08-01 | Nec Corp | タスクスケジューリング装置、タスクスケジューリング方法およびタスクスケジューリングプログラム |
| US9448837B2 (en) * | 2012-12-27 | 2016-09-20 | Nvidia Corporation | Cooperative thread array granularity context switch during trap handling |
| JP6252140B2 (ja) | 2013-11-29 | 2017-12-27 | 富士通株式会社 | タスク割り付けプログラム及びタスク割り付け方法 |
| GB2521155B (en) * | 2013-12-10 | 2021-06-02 | Advanced Risc Mach Ltd | Configuring thread scheduling on a multi-threaded data processing apparatus |
| US9477480B2 (en) * | 2014-01-30 | 2016-10-25 | Nvidia Corporation | System and processor for implementing interruptible batches of instructions |
| US9122800B1 (en) | 2014-05-30 | 2015-09-01 | Honeywell International Inc. | System and method of non-intrusive measurement of memory access profiles of threads in a multi-core processor |
-
2015
- 2015-12-28 US US14/981,257 patent/US10649810B2/en active Active
-
2016
- 2016-09-20 EP EP16882226.0A patent/EP3398065B1/en active Active
- 2016-09-20 KR KR1020187021914A patent/KR102616212B1/ko active Active
- 2016-09-20 WO PCT/US2016/052710 patent/WO2017116517A1/en unknown
- 2016-09-20 JP JP2018552632A patent/JP2019501470A/ja active Pending
-
2022
- 2022-08-12 JP JP2022128766A patent/JP7554795B2/ja active Active
Non-Patent Citations (4)
| Title |
|---|
| 미국공개특허 제2007-0143759호(2007.06.21.) 1부.* |
| 미국공개특허 제2015-0154054호(2015.06.04.) 1부.* |
| 미국공개특허 제2015-0160970호(2015.06.11.) 1부.* |
| 미국등록특허 제6289369호(2001.09.11.) 1부.* |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2019501470A (ja) | 2019-01-17 |
| US10649810B2 (en) | 2020-05-12 |
| US20170185451A1 (en) | 2017-06-29 |
| JP7554795B2 (ja) | 2024-09-20 |
| EP3398065A1 (en) | 2018-11-07 |
| JP2022160691A (ja) | 2022-10-19 |
| EP3398065A4 (en) | 2019-08-07 |
| EP3398065B1 (en) | 2023-04-19 |
| KR20180089550A (ko) | 2018-08-08 |
| WO2017116517A1 (en) | 2017-07-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102616212B1 (ko) | 다수의 컴퓨팅 코어들상의 데이터 드라이브 스케줄러 | |
| US8643656B2 (en) | Energy-aware task consolidation on graphics processing unit (GPU) | |
| US9606797B2 (en) | Compressing execution cycles for divergent execution in a single instruction multiple data (SIMD) processor | |
| US8782645B2 (en) | Automatic load balancing for heterogeneous cores | |
| US20170371660A1 (en) | Load-store queue for multiple processor cores | |
| US20070150895A1 (en) | Methods and apparatus for multi-core processing with dedicated thread management | |
| US10268519B2 (en) | Scheduling method and processing device for thread groups execution in a computing system | |
| US20130339978A1 (en) | Load balancing for heterogeneous systems | |
| US11880715B2 (en) | Method and system for opportunistic load balancing in neural networks using metadata | |
| CN114153500A (zh) | 指令调度方法、指令调度装置、处理器及存储介质 | |
| CN114168202A (zh) | 指令调度方法、指令调度装置、处理器及存储介质 | |
| US9740611B2 (en) | Memory management for graphics processing unit workloads | |
| US20190318229A1 (en) | Method and system for hardware mapping inference pipelines | |
| US20240193721A1 (en) | System and method for adaptive graph-to-stream scheduling | |
| US11436016B2 (en) | Techniques for improving operand caching | |
| CN118245187A (zh) | 线程调度方法及装置、电子设备及存储介质 | |
| CN119225950A (zh) | 用于实现自适应分支预测扼制的方法和装置 | |
| US20240211399A1 (en) | Distributed caching policy for large-scale deep learning training data pre-processing | |
| US20200004585A1 (en) | Techniques for reducing serialization in divergent control flow | |
| US20230205680A1 (en) | Emulating performance of prior generation platforms | |
| US10877926B2 (en) | Method and system for partial wavefront merger | |
| US20220206851A1 (en) | Regenerative work-groups | |
| US11704277B2 (en) | Variation-aware qubit movement scheme for noise intermediate scale quantum era computers | |
| US20240330045A1 (en) | Input locality-adaptive kernel co-scheduling | |
| Zuzak et al. | Exploiting multi-loop parallelism on heterogeneous microprocessors |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
St.27 status event code: A-0-1-A10-A15-nap-PA0105 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| 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 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| 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 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-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 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| 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 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U12-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |