JP2013532880A5 - - Google Patents

Download PDF

Info

Publication number
JP2013532880A5
JP2013532880A5 JP2013523301A JP2013523301A JP2013532880A5 JP 2013532880 A5 JP2013532880 A5 JP 2013532880A5 JP 2013523301 A JP2013523301 A JP 2013523301A JP 2013523301 A JP2013523301 A JP 2013523301A JP 2013532880 A5 JP2013532880 A5 JP 2013532880A5
Authority
JP
Japan
Prior art keywords
processing element
memory area
memory
type processing
type
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.)
Pending
Application number
JP2013523301A
Other languages
English (en)
Other versions
JP2013532880A (ja
Filing date
Publication date
Priority claimed from US12/849,724 external-priority patent/US20120036301A1/en
Application filed filed Critical
Publication of JP2013532880A publication Critical patent/JP2013532880A/ja
Publication of JP2013532880A5 publication Critical patent/JP2013532880A5/ja
Pending legal-status Critical Current

Links

Claims (19)

  1. コンピュータデバイスの少なくとも第1のタイプの処理要素によって実行可能なプログラム命令を記憶するコンピュータ可読記憶媒体であって、
    前記プログラム命令は、
    前記コンピュータデバイス上で実行する仮想マシンが新たなオブジェクトをインスタンス化するという指示に応て、前記コンピュータデバイスのメモリ領域のうち初期化するメモリ領域のサイズを決定することと
    前記第1のタイプの処理要素が、前記コンピュータデバイスの第2のタイプの処理要素に対して前記メモリ領域の初期化を行わせることと、
    を含み、
    前記初期化を行わせることは、前記第2のタイプの処理要素が、仮想マシンが新たなオブジェクトをインスタンス化するという指示に基づいて前記第1のタイプの処理要素から受信した命令に応じて、メモリコントローラとともに前記メモリ領域への書き込みを行うことと、前記第2のタイプの処理要素が、少なくとも前記メモリ領域の前記サイズのデータを初期化することとを含み、
    前記第2のタイプの処理要素は、前記第1のタイプの処理要素と異なっており、前記メモリコントローラは、前記第1のタイプの処理要素及び前記第2のタイプの処理要素から分離している、
    コンピュータ可読記憶媒体
  2. 前記新たなオブジェクトをインスタンス化すべきという指示は、第1プログラムから、前記第1のタイプの処理要素によって実行される制御プログラムにより受付けられる、
    請求項1のコンピュータ可読記憶媒体
  3. 前記制御プログラム、前記第1プログラムを実行している、
    請求項2のコンピュータ可読記憶媒体
  4. 前記第1のタイプの処理要素は中央演算処理装置(CPU)であって、前記第2のタイプの処理要素はグラフィックス処理装置(GPU)である、
    請求項2のコンピュータ可読記憶媒体
  5. 前記制御プログラムは、ガーベジコレクションプロセスの一部として、初期化される複数のメモリ領域を示す複数の指示を生成する処理と、前記複数のメモリ領域に対する初期化を前記第2処理要素に行わせる処理とをさらに含み、
    前記初期化には、前記複数のメモリ領域のすべての内容を、プログラミング言語の言語仕様にしたがって指定されたデフォルトの内容で埋める処理が含まれる、
    請求項4のコンピュータ可読記憶媒体
  6. 前記制御プログラムは、前記非一時的なコンピュータ読み取り可能な媒体に記憶された1以上のライブラリファイルを有し、かつ、前記指示を受付ける前記制御プログラムは、アプリケーション・プログラミング・インタフェース(API)を介して前記指示を受付ける前記制御プログラムを有する、
    請求項2のコンピュータ可読記憶媒体
  7. コンピュータデバイス上で実行する仮想マシンからの指示に応じて、前記コンピュータデバイスのメモリ領域のうち初期化するメモリ領域のサイズを決定することと
    第1のタイプの処理要素で実行する第1プログラムが、第2のタイプの処理要素に対して前記メモリ領域の初期化を行わせることであって、前記第2のタイプの処理要素が、少なくとも前記メモリ領域の前記サイズのデータを初期化することと、を含み、
    前記メモリ領域の初期化を行わせることは、前記第2のタイプの処理要素が、メモリコントローラとともに、前記第1のタイプの処理要素が前記メモリ領域へ直接アクセスすることなく、ダイレクトメモリアクセス(DMA)を用いて前記メモリ領域を初期化することを含み、
    前記DMAを用いて前記メモリ領域を初期化することは、前記コンピュータデバイス上で実行する前記仮想マシンからの前記指示に基づいて前記第1のタイプの処理要素から受信した命令に応じて実行され、
    前記第1のタイプの処理要素は、前記第2のタイプの処理要素と異なっており、前記メモリコントローラは、前記第1のタイプの処理要素及び前記第2のタイプの処理要素から分離している、
    方法。
  8. 前記指示を生成する前記第1プログラム内においてガーベジコレクションプロセスをさらに含む、
    請求項7の方法。
  9. 前記メモリ領域のサイズを決定することは、新たなオブジェクトをインスタンス化するのに必要なメモリ量よりも大きいサイズであって、追加のメモリを初期化することなく、複数の新たなオブジェクトをインスタンス化するのに十分な大きさのサイズを決定することを含み、
    前記方法は、前記初期化されたメモリ領域の全てよりも少ない部分を用いて、前記新たなオブジェクトのインスタンス化を行わせること、をさらに含む、
    請求項7の方法。
  10. 前記コンピュータデバイスが、前記メモリ領域が初期化されるのに応答して、前記コンピュータデバイスのデータキャッシュの1以上の部分であってメモリ領域初期化前の前記メモリ領域の内容に対応する該部分を無効化する処理、をさらに含む、
    請求項7の方法。
  11. メインメモリを有するメモリサブシステムと、
    メモリコントローラと、
    2次記憶装置と、
    少なくとも第1のタイプの処理要素及び第2のタイプの処理要素と、を有するコンピュータシステムであって、
    前記2次記憶装置は、前記第1のタイプの処理要素によって実行可能なプログラム命令を記憶しており、
    前記プログラム命令は、
    新たなオブジェクトをインスタンス化するという指示に応て、前記メインメモリのメモリ領域のうち初期化するメモリ領域のサイズを決定することと、
    前記メモリコントローラとともに前記メモリ領域に書き込みを行う前記第2のタイプの処理要素に対して、前記メモリ領域の初期化を行わせることであって、前記メモリ領域の少なくとも前記サイズのデータを初期化することと、前記第1のタイプの処理要素から前記第2のタイプの処理要素へ初期化命令を送信することとを含むことと、
    前記初期化されたメモリ領域の全てよりも少ない部分を用いて、前記新たなオブジェクトのインスタンス化を行わせることと、
    を含み、
    前記メモリ領域のサイズを決定することは、前記新たなオブジェクトに必要なメモリ量よりも大きいサイズであって、追加のメモリを初期化することなく、複数の新たなオブジェクトをインスタンス化するのに十分な大きさのサイズを決定することを含み、
    前記初期化命令は、前記新たなオブジェクトをインスタンス化するという前記指示に基づいており、
    前記第1のタイプの処理要素は、前記第2のタイプの処理要素と異なっており、前記メモリコントローラは、前記第1のタイプの処理要素及び前記第2のタイプの処理要素から分離している、
    コンピュータシステム。
  12. 前記第1のタイプの処理要素は中央演算処理装置(CPU)であって、前記第2のタイプの処理要素はグラフィックス処理装置(GPU)である
    請求項11のコンピュータシステム。
  13. 前記第1のタイプの処理要素と関連付けられたキャッシュをさらに有し、
    前記キャッシュは、前記第1のタイプの処理要素による前記メインメモリへのアクセスに応答して該メインメモリの内容を記憶するように構成され、
    前記メモリ領域の初期化が行われたとき、前記メモリ領域の初期化後の内容が前記キャッシュに記憶されない、
    請求項11のコンピュータシステム。
  14. 前記メモリコントローラは、前記第2のタイプの処理要素に対して前記メインメモリへの直接アクセスを許可するように構成されており、
    前記メモリ領域初期化を行わせることには、前記第2のタイプの処理要素が前記メモリコントローラを用いて前記メモリ領域にアクセスすることが含まれ、前記第1のタイプの処理要素が前記メモリ領域にアクセスすることが含まれない、
    請求項11のコンピュータシステム。
  15. 前記メモリ領域の初期化を行わせることは、前記第2のタイプの処理要素が実行可能な1つ以上の命令のセットの少なくとも一部を動的に生成して、前記メモリ領域の内容を変更することを含む、
    請求項1のコンピュータ可読記憶媒体。
  16. 前記メモリ領域の初期化を行わせることは、前記初期化されたメモリ領域の初期化後の内容を、前記コンピュータシステムのキャッシュに記憶させず、
    前記キャッシュは、前記メモリ領域を含む前記コンピュータシステムのメモリにアクセスする前記第1のタイプの処理要素に応じて、前記メモリ領域の内容を記憶するように構成されている。
    請求項1のコンピュータ可読記憶媒体。
  17. 前記第1のタイプの処理要素及び前記第2のタイプの処理要素の少なくとも一方の生成を実行することの可能なプログラム命令を含む、
    請求項1のコンピュータ可読記憶媒体。
  18. 前記第2のタイプの処理要素がメモリコントローラとともに前記メモリ領域への書き込みを行うことは、前記第2のタイプの処理要素が、前記第2のタイプの処理要素による前記メモリ領域への書き込みが許可されたという指示を、前記メモリコントローラから受信することを含む、
    請求項1のコンピュータ可読記憶媒体。
  19. 前記第2のタイプの処理要素がメモリコントローラとともに前記メモリ領域への書き込みを行うことは、前記第2のタイプの処理要素が、前記メモリ領域へのダイレクトメモリアクセス(DMA)を、前記メモリコントローラを介して受信することを含む、
    請求項1のコンピュータ可読記憶媒体。
JP2013523301A 2010-08-03 2011-08-03 メモリ領域を埋めるためのプロセッサ支援 Pending JP2013532880A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/849,724 2010-08-03
US12/849,724 US20120036301A1 (en) 2010-08-03 2010-08-03 Processor support for filling memory regions
PCT/US2011/046412 WO2012018906A1 (en) 2010-08-03 2011-08-03 Processor support for filling memory regions

Publications (2)

Publication Number Publication Date
JP2013532880A JP2013532880A (ja) 2013-08-19
JP2013532880A5 true JP2013532880A5 (ja) 2014-09-18

Family

ID=44504257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013523301A Pending JP2013532880A (ja) 2010-08-03 2011-08-03 メモリ領域を埋めるためのプロセッサ支援

Country Status (6)

Country Link
US (1) US20120036301A1 (ja)
EP (1) EP2601579A1 (ja)
JP (1) JP2013532880A (ja)
KR (1) KR20140001827A (ja)
CN (1) CN103140834A (ja)
WO (1) WO2012018906A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5407631B2 (ja) * 2009-07-21 2014-02-05 富士ゼロックス株式会社 回路情報生成装置、機能実行システム、及びプログラム
WO2014142969A1 (en) * 2013-03-15 2014-09-18 Intel Corporation Object liveness tracking for use in processing device cache
KR20160008885A (ko) * 2014-07-15 2016-01-25 삼성전자주식회사 전자 장치 및 전자 장치의 메모리 관리 방법
CN104932985A (zh) * 2015-06-26 2015-09-23 季锦诚 一种基于eDRAM的GPGPU寄存器文件系统
CN108139917A (zh) 2015-08-20 2018-06-08 美光科技公司 从nand媒体快速引导的固态存储装置
US10558364B2 (en) 2017-10-16 2020-02-11 Alteryx, Inc. Memory allocation in a data analytics system

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446860A (en) * 1993-01-11 1995-08-29 Hewlett-Packard Company Apparatus for determining a computer memory configuration of memory modules using presence detect bits shifted serially into a configuration register
JPH0822411A (ja) * 1994-07-08 1996-01-23 Fuji Xerox Co Ltd 画像メモリ初期化装置
JPH08161216A (ja) * 1994-12-09 1996-06-21 Toshiba Corp メモリ高速クリア機能を持つ情報処理装置
EP0863497A1 (en) * 1997-03-06 1998-09-09 Sony Computer Entertainment Inc. Graphic data generation device with frame buffer regions for normal and size reduced graphics data
US7676640B2 (en) * 2000-01-06 2010-03-09 Super Talent Electronics, Inc. Flash memory controller controlling various flash memory cells
US6760817B2 (en) * 2001-06-21 2004-07-06 International Business Machines Corporation Method and system for prefetching utilizing memory initiated prefetch write operations
JP2003131934A (ja) * 2001-10-26 2003-05-09 Seiko Epson Corp メモリ制御回路及び情報処理装置
US6993706B2 (en) * 2002-01-15 2006-01-31 International Business Machines Corporation Method, apparatus, and program for a state machine framework
US6976122B1 (en) * 2002-06-21 2005-12-13 Advanced Micro Devices, Inc. Dynamic idle counter threshold value for use in memory paging policy
US7259710B2 (en) * 2002-08-07 2007-08-21 Canon Information Systems Research Australia Pty Ltd User input device
CN1689116A (zh) * 2003-02-28 2005-10-26 富士通株式会社 闪存以及存储器控制方法
US7159104B2 (en) * 2003-05-20 2007-01-02 Nvidia Corporation Simplified memory detection
EP1489507A1 (en) * 2003-06-19 2004-12-22 Texas Instruments Incorporated Memory preallocation
US9020801B2 (en) * 2003-08-11 2015-04-28 Scalemp Inc. Cluster-based operating system-agnostic virtual computing system
KR100703357B1 (ko) * 2003-08-16 2007-04-03 삼성전자주식회사 보조제어부를 구비하는 휴대용 단말기의 캐시메모리구현장치 및 방법
US7065606B2 (en) * 2003-09-04 2006-06-20 Lsi Logic Corporation Controller architecture for memory mapping
US7139863B1 (en) * 2003-09-26 2006-11-21 Storage Technology Corporation Method and system for improving usable life of memory devices using vector processing
JP2005128692A (ja) * 2003-10-22 2005-05-19 Matsushita Electric Ind Co Ltd シミュレータ及びシミュレーション方法
US7100003B2 (en) * 2003-11-24 2006-08-29 International Business Machines Corporation Method and apparatus for generating data for use in memory leak detection
JP4247233B2 (ja) * 2004-02-13 2009-04-02 ボッシュ株式会社 車両用データのバックアップ方法
US7539831B2 (en) * 2004-08-18 2009-05-26 Intel Corporation Method and system for performing memory clear and pre-fetch for managed runtimes
US7401202B1 (en) * 2004-09-14 2008-07-15 Azul Systems, Inc. Memory addressing
US7464243B2 (en) * 2004-12-21 2008-12-09 Cisco Technology, Inc. Method and apparatus for arbitrarily initializing a portion of memory
FR2880705A1 (fr) * 2005-01-10 2006-07-14 St Microelectronics Sa Procede de conception d'un peripherique compatible dma
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US7406212B2 (en) * 2005-06-02 2008-07-29 Motorola, Inc. Method and system for parallel processing of Hough transform computations
US7984084B2 (en) * 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
GB0517305D0 (en) * 2005-08-24 2005-10-05 Ibm Method and apparatus for the defragmentation of a file system
US7596667B1 (en) * 2005-09-01 2009-09-29 Sun Microsystems, Inc. Method and apparatus for byte allocation accounting in a system having a multi-threaded application and a generational garbage collector that dynamically pre-tenures objects
JP4794957B2 (ja) * 2005-09-14 2011-10-19 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
US20070143561A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for adaptive file data handling in non-volatile memories with a directly mapped file storage system
US7515500B2 (en) * 2006-12-20 2009-04-07 Nokia Corporation Memory device performance enhancement through pre-erase mechanism
US20080204468A1 (en) * 2007-02-28 2008-08-28 Wenlong Li Graphics processor pipelined reduction operations
US20080215807A1 (en) * 2007-03-02 2008-09-04 Sony Corporation Video data system
US8286196B2 (en) * 2007-05-03 2012-10-09 Apple Inc. Parallel runtime execution on multiple processors
US20090089515A1 (en) * 2007-10-02 2009-04-02 Qualcomm Incorporated Memory Controller for Performing Memory Block Initialization and Copy
JP2009104300A (ja) * 2007-10-22 2009-05-14 Denso Corp データ処理装置及びプログラム
US8339404B2 (en) * 2007-11-29 2012-12-25 Accelereyes, Llc System for improving utilization of GPU resources
US7659768B2 (en) * 2007-12-28 2010-02-09 Advanced Micro Devices, Inc. Reduced leakage voltage level shifting circuit
JP5286943B2 (ja) * 2008-05-30 2013-09-11 富士通株式会社 メモリクリア機構
US8397241B2 (en) * 2008-11-13 2013-03-12 Intel Corporation Language level support for shared virtual memory

Similar Documents

Publication Publication Date Title
TWI529626B (zh) 在複數執行緒處理單元中的效率式記憶體虛擬化
KR102402672B1 (ko) 컴퓨팅 시스템 및 컴퓨팅 시스템에서 연산들을 처리하는 방법
TWI512466B (zh) 在複數執行緒處理單元中的效率式記憶體虛擬化
US10877793B2 (en) Extending the base address register by modifying the number of read-only bits associated with a device to be presented to a guest operating system
TWI525437B (zh) 在複數執行緒處理單元中的效率式記憶體虛擬化
US9811366B2 (en) Dynamically using system memory as video memory for virtual graphics processing units
JP2013532880A5 (ja)
US20130117530A1 (en) Apparatus for translating virtual address space
JP2016525255A5 (ja)
JP2015511346A5 (ja)
US9058197B2 (en) Method for sharing memory of virtual machine and computer system using the same
RU2016126975A (ru) Связанное с выбранными архитектурными функциями администрирование обработки
TW201342240A (zh) 解決執行緒發散的方法和系統
US10474616B2 (en) Asynchronous mapping of hot-plugged device associated with virtual machine
US9471226B2 (en) Reverse copy on write for better cache utilization
GB2520856A (en) Enabling Virtualization of a processor resource
US20170031593A1 (en) Maintaining guest input/output tables in swappable memory
WO2012177447A3 (en) Programming interface for data communications
KR102540754B1 (ko) 가상화를 위한 gpu 작업 컨테이너로서의 vmid
US9639393B2 (en) Virtual processor state management based on time values
JP2015095262A5 (ja) 更新されたファイルへのアクセスを提供する方法、及びそれを具現するシステム
JP2018517210A5 (ja)
US9639388B2 (en) Deferred assignment of devices in virtual machine migration
JP2014526742A5 (ja)
US10733687B2 (en) Method and apparatus for data communication in virtualized environment, and processor