CN113906384A8 - 人工神经网络(ann)应用程序中的存储器即服务 - Google Patents
人工神经网络(ann)应用程序中的存储器即服务 Download PDFInfo
- Publication number
- CN113906384A8 CN113906384A8 CN202080039732.5A CN202080039732A CN113906384A8 CN 113906384 A8 CN113906384 A8 CN 113906384A8 CN 202080039732 A CN202080039732 A CN 202080039732A CN 113906384 A8 CN113906384 A8 CN 113906384A8
- Authority
- CN
- China
- Prior art keywords
- memory
- computing device
- service
- amount
- ann
- 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.)
- Granted
Links
- 238000013528 artificial neural network Methods 0.000 title 2
- 238000000034 method Methods 0.000 abstract 1
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/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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1072—Decentralised address translation, e.g. in distributed shared memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- 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/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/5022—Mechanisms to release resources
-
- 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/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; 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/454—Vector or matrix data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Neurology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
描述了对用于存储器即服务的网络通信进行节流的系统、方法和装置。例如,计算装置可以通过出借者装置和计算装置之间的通信连接借用出借者装置的随机存取存储器量。计算装置可以将虚拟存储器分配给在计算装置中运行的应用程序,并且将虚拟存储器的至少一部分配置为托管在出借者装置借给计算装置的存储器量上。计算装置可以根据存储在存储器区域中的内容的关键度级别来节流存储器区域在通过通信连接存取存储器量时使用的数据通信。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/424,429 US20200379809A1 (en) | 2019-05-28 | 2019-05-28 | Memory as a Service for Artificial Neural Network (ANN) Applications |
US16/424,429 | 2019-05-28 | ||
US16/424,413 | 2019-05-28 | ||
PCT/US2020/029298 WO2020242665A1 (en) | 2019-05-28 | 2020-04-22 | Memory as a service for artificial neural network (ann) applications |
Publications (3)
Publication Number | Publication Date |
---|---|
CN113906384A CN113906384A (zh) | 2022-01-07 |
CN113906384A8 true CN113906384A8 (zh) | 2022-03-18 |
CN113906384B CN113906384B (zh) | 2024-06-21 |
Family
ID=73551559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080039732.5A Active CN113906384B (zh) | 2019-05-28 | 2020-04-22 | 人工神经网络(ann)应用程序中的存储器即服务 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200379809A1 (zh) |
EP (1) | EP3977254A4 (zh) |
CN (1) | CN113906384B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11334387B2 (en) | 2019-05-28 | 2022-05-17 | Micron Technology, Inc. | Throttle memory as a service based on connectivity bandwidth |
US11169930B2 (en) | 2019-05-28 | 2021-11-09 | Micron Technology, Inc. | Fine grain data migration to or from borrowed memory |
US11100007B2 (en) | 2019-05-28 | 2021-08-24 | Micron Technology, Inc. | Memory management unit (MMU) for accessing borrowed memory |
US11061819B2 (en) | 2019-05-28 | 2021-07-13 | Micron Technology, Inc. | Distributed computing based on memory as a service |
US11438414B2 (en) | 2019-05-28 | 2022-09-06 | Micron Technology, Inc. | Inter operating system memory services over communication network connections |
US11256624B2 (en) | 2019-05-28 | 2022-02-22 | Micron Technology, Inc. | Intelligent content migration with borrowed memory |
US11966785B2 (en) * | 2020-07-30 | 2024-04-23 | Arm Limited | Hardware resource configuration for processing system |
US11429590B2 (en) * | 2020-10-15 | 2022-08-30 | International Business Machines Corporation | Protecting against invalid memory references |
US11966331B2 (en) | 2020-12-30 | 2024-04-23 | International Business Machines Corporation | Dedicated bound information register file for protecting against out-of-bounds memory references |
US11983532B2 (en) | 2020-12-30 | 2024-05-14 | International Business Machines Corporation | Optimize bound information accesses in buffer protection |
JP2022143762A (ja) * | 2021-03-18 | 2022-10-03 | キオクシア株式会社 | メモリシステム、制御方法およびメモリコントローラ |
KR20220167936A (ko) * | 2021-06-15 | 2022-12-22 | 삼성전자주식회사 | 보안 프로세서를 포함하는 시스템 온 칩과 이를 포함하는 반도체 시스템 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150170053A1 (en) * | 2013-12-13 | 2015-06-18 | Microsoft Corporation | Personalized machine learning models |
US20150234669A1 (en) * | 2014-02-17 | 2015-08-20 | Strato Scale Ltd. | Memory resource sharing among multiple compute nodes |
US20150324690A1 (en) * | 2014-05-08 | 2015-11-12 | Microsoft Corporation | Deep Learning Training System |
US9336483B1 (en) * | 2015-04-03 | 2016-05-10 | Pearson Education, Inc. | Dynamically updated neural network structures for content distribution networks |
CN107025205B (zh) * | 2016-01-30 | 2021-06-22 | 华为技术有限公司 | 一种分布式系统中的训练模型的方法及设备 |
US10002029B1 (en) * | 2016-02-05 | 2018-06-19 | Sas Institute Inc. | Automated transfer of neural network definitions among federated areas |
US10303646B2 (en) * | 2016-03-25 | 2019-05-28 | Microsoft Technology Licensing, Llc | Memory sharing for working data using RDMA |
FR3063361B1 (fr) * | 2017-02-24 | 2019-04-19 | Moore | Procede, equipement et systeme de gestion du systeme de fichiers |
US10417734B2 (en) * | 2017-04-24 | 2019-09-17 | Intel Corporation | Compute optimization mechanism for deep neural networks |
US10410098B2 (en) * | 2017-04-24 | 2019-09-10 | Intel Corporation | Compute optimizations for neural networks |
US20180322386A1 (en) * | 2017-05-05 | 2018-11-08 | Intel Corporation | Fine-grain compute communication execution for deep learning frameworks |
KR102197247B1 (ko) * | 2017-06-01 | 2020-12-31 | 한국전자통신연구원 | 파라미터 서버 및 그것에 의해 수행되는 분산 딥러닝 파라미터 공유 방법 |
US11108575B2 (en) * | 2017-07-26 | 2021-08-31 | Amazon Technologies, Inc. | Training models for IOT devices |
US20190073580A1 (en) * | 2017-09-01 | 2019-03-07 | Facebook, Inc. | Sparse Neural Network Modeling Infrastructure |
US20200401944A1 (en) * | 2018-04-27 | 2020-12-24 | Sony Corporation | Mechanism for machine learning in distributed computing |
US10776164B2 (en) * | 2018-11-30 | 2020-09-15 | EMC IP Holding Company LLC | Dynamic composition of data pipeline in accelerator-as-a-service computing environment |
US11829849B2 (en) * | 2019-01-09 | 2023-11-28 | Cisco Technology, Inc. | Dynamic orchestration of machine learning functions on a distributed network |
US20200265301A1 (en) * | 2019-02-15 | 2020-08-20 | Microsoft Technology Licensing, Llc | Incremental training of machine learning tools |
-
2019
- 2019-05-28 US US16/424,429 patent/US20200379809A1/en active Pending
-
2020
- 2020-04-22 EP EP20813550.9A patent/EP3977254A4/en not_active Withdrawn
- 2020-04-22 CN CN202080039732.5A patent/CN113906384B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
EP3977254A4 (en) | 2023-05-31 |
EP3977254A1 (en) | 2022-04-06 |
CN113906384A (zh) | 2022-01-07 |
CN113906384B (zh) | 2024-06-21 |
US20200379809A1 (en) | 2020-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113906384A8 (zh) | 人工神经网络(ann)应用程序中的存储器即服务 | |
CN103399778B (zh) | 一种虚拟机在线整体迁移方法和设备 | |
US20180260359A1 (en) | Remote direct memory access-based method of transferring arrays of objects including garbage data | |
CN111478857A (zh) | 一种接口限流控制方法、装置以及电子设备 | |
CN108650334A (zh) | 一种会话失效的设置方法及装置 | |
CN107589997B (zh) | 数据中心环境下保证延迟敏感程序QoS的动态调节方法 | |
CN106326082B (zh) | 网络系统中记录日志的方法和装置 | |
CN105791381A (zh) | 访问控制的方法及装置 | |
CN105939371A (zh) | 云计算的负载均衡方法及系统 | |
CN109271247A (zh) | 内存优化方法、装置、计算机装置以及存储介质 | |
WO2017166997A1 (zh) | 智能网卡侧的异常处理方法和装置 | |
WO2021068247A8 (zh) | 神经网络调度方法、装置、计算机设备及可读存储介质 | |
CN113590640B (zh) | 解决银行业务跨平台跨日账务平衡的方法及装置 | |
CN102710742A (zh) | 一种基于云计算虚拟应用下的离线文件同步处理机制 | |
CN106155498A (zh) | 一种安卓平台上防止列表滑动卡顿的图片加载方法 | |
CN106815250A (zh) | 一种发送数据的方法、数据服务器以及服务器 | |
DE102013104330A1 (de) | Anrufanzeigeweiterleitung für ein Gerät | |
CN102752412B (zh) | Wan环境下端口映射方法及系统 | |
CN108491483A (zh) | 一种远程监控程序运行状态的方法和装置 | |
CN112231106B (zh) | Redis集群的访问数据处理方法及装置 | |
CN104331406A (zh) | 一种数据库容量控制方法及装置 | |
CN108011745B (zh) | 数据的传输方法及装置 | |
CN116114219A8 (zh) | 访问令牌处理方法和设备 | |
CN105450667A (zh) | 基于互联网的远程信息共享关联系统 | |
CN116097614A8 (zh) | 接入方法、设备和云平台设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CI02 | Correction of invention patent application | ||
CI02 | Correction of invention patent application |
Correction item: Priority Correct: 16/424,429 2019.05.28 US False: 16/424,413 2019.05.28 US Number: 01-02 Page: The title page Volume: 38 Correction item: Priority Correct: 16/424,429 2019.05.28 US False: 16/424,413 2019.05.28 US Number: 01-02 Volume: 38 |
|
GR01 | Patent grant |