WO2003081426A3 - Method and apparatus for deployment of high integrity software using reduced dynamic memory allocation - Google Patents

Method and apparatus for deployment of high integrity software using reduced dynamic memory allocation Download PDF

Info

Publication number
WO2003081426A3
WO2003081426A3 PCT/US2003/008508 US0308508W WO03081426A3 WO 2003081426 A3 WO2003081426 A3 WO 2003081426A3 US 0308508 W US0308508 W US 0308508W WO 03081426 A3 WO03081426 A3 WO 03081426A3
Authority
WO
WIPO (PCT)
Prior art keywords
memory allocation
dynamic memory
deployment
analyzing
program
Prior art date
Application number
PCT/US2003/008508
Other languages
French (fr)
Other versions
WO2003081426A2 (en
Inventor
Jong Edward De
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Priority to AU2003223308A priority Critical patent/AU2003223308A1/en
Publication of WO2003081426A2 publication Critical patent/WO2003081426A2/en
Publication of WO2003081426A3 publication Critical patent/WO2003081426A3/en

Links

Classifications

    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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

Abstract

A method for reducing dynamic memory allocation includes designing a software program using a memory allocation module for allocating memory, analyzing the software program to determine a bound on dynamic memory allocation and modifying the program based on the analyzing. According to one aspect, the program is modified to use static memory allocation in lieu of dynamic memory allocation based on the analyzing. According to another aspect, the program is modified to reduce the amount of dynamically allocated memory based on the analyzing.
PCT/US2003/008508 2002-03-18 2003-03-17 Method and apparatus for deployment of high integrity software using reduced dynamic memory allocation WO2003081426A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003223308A AU2003223308A1 (en) 2002-03-18 2003-03-17 Method and apparatus for deployment of high integrity software using reduced dynamic memory allocation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/101,289 US7010783B2 (en) 2002-03-18 2002-03-18 Method and apparatus for deployment of high integrity software using reduced dynamic memory allocation
US10/101,289 2002-03-18

Publications (2)

Publication Number Publication Date
WO2003081426A2 WO2003081426A2 (en) 2003-10-02
WO2003081426A3 true WO2003081426A3 (en) 2004-04-29

Family

ID=28039981

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/008508 WO2003081426A2 (en) 2002-03-18 2003-03-17 Method and apparatus for deployment of high integrity software using reduced dynamic memory allocation

Country Status (3)

Country Link
US (1) US7010783B2 (en)
AU (1) AU2003223308A1 (en)
WO (1) WO2003081426A2 (en)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458754B2 (en) 2001-01-22 2013-06-04 Sony Computer Entertainment Inc. Method and system for providing instant start multimedia content
US7392514B2 (en) * 2003-06-26 2008-06-24 Microsoft Corporation Data flow chasing
DE102004018243A1 (en) * 2004-04-15 2005-11-10 Giesecke & Devrient Gmbh Utilisation of memory in a portable data carrier such as a smart card using an additional program routine
US7836434B1 (en) * 2004-05-04 2010-11-16 Oracle America, Inc. Method and system for analyzing array access to a pointer that is referenced as an array
US7555748B2 (en) * 2004-08-30 2009-06-30 International Business Machines Corporation Method and apparatus for improving data cache performance using inter-procedural strength reduction of global objects
US7472382B2 (en) * 2004-08-30 2008-12-30 International Business Machines Corporation Method for optimizing software program using inter-procedural strength reduction
GB2421096A (en) * 2004-12-10 2006-06-14 Hewlett Packard Development Co Determining a memory allocation algorithm in dependence on a memory allocation pattern for a process
US20060277541A1 (en) * 2005-06-07 2006-12-07 Sony Computer Entertainment America Inc. Relocatable component file format
US20160098279A1 (en) * 2005-08-29 2016-04-07 Searete Llc Method and apparatus for segmented sequential storage
US9176741B2 (en) * 2005-08-29 2015-11-03 Invention Science Fund I, Llc Method and apparatus for segmented sequential storage
US8689194B1 (en) 2007-08-20 2014-04-01 The Mathworks, Inc. Optimization identification
US9483405B2 (en) 2007-09-20 2016-11-01 Sony Interactive Entertainment Inc. Simplified run-time program translation for emulating complex processor pipelines
US7539839B1 (en) 2008-06-30 2009-05-26 International Business Machines Corporation Method to test error recovery with selective memory allocation error injection
US8316357B2 (en) * 2008-09-03 2012-11-20 Microsoft Corporation Type descriptor management for frozen objects
US9135948B2 (en) 2009-07-03 2015-09-15 Microsoft Technology Licensing, Llc Optical medium with added descriptor to reduce counterfeiting
CN102467452B (en) * 2010-11-16 2014-08-27 北京中电华大电子设计有限责任公司 Memory space allocation method of partial non-static data of static memory allocation
US9195810B2 (en) * 2010-12-28 2015-11-24 Microsoft Technology Licensing, Llc Identifying factorable code
US9009684B2 (en) * 2012-04-18 2015-04-14 International Business Machines Corporation Method, apparatus and product for porting applications to embedded platforms
US9329849B2 (en) * 2013-08-26 2016-05-03 Facebook, Inc. Systems and methods for converting typed code
US9251071B2 (en) * 2013-08-30 2016-02-02 Apple Inc. Concurrent inline cache optimization in accessing dynamically typed objects
US11182283B2 (en) 2018-09-26 2021-11-23 Apple Inc. Allocation of memory within a data type-specific memory heap
CN111679909B (en) * 2020-05-19 2024-02-23 深圳市元征科技股份有限公司 Data processing method and device and terminal equipment
CN111984425B (en) * 2020-09-30 2024-04-02 浙江省北大信息技术高等研究院 Memory management method, device and equipment for operating system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038397A (en) * 1994-05-20 2000-03-14 Matsushita Electric Industrial Co., Ltd. System for allocating the memory area of second data which value need not be preserved to another data of some of the processes

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0818473B2 (en) 1985-07-31 1996-02-28 トッパン・ムーア株式会社 IC card that can set confidentiality level
EP0390339B1 (en) 1989-03-29 1996-01-03 Hewlett-Packard Company Path measurement and analysis tool for evaluating the performance of software designs
US5107418A (en) 1990-06-11 1992-04-21 Supercomputer Systems Limited Partnership Method for representing scalar data dependences for an optimizing compiler
IL100987A (en) 1991-02-27 1995-10-31 Digital Equipment Corp Method and apparatus for compiling code
US5423027A (en) 1991-09-27 1995-06-06 Massachusetts Institute Of Technology Tool for error detection in software using aspect specification
JPH0695312B2 (en) 1991-11-21 1994-11-24 インターナショナル・ビジネス・マシーンズ・コーポレイション Method and system for processing a computer program
US5666296A (en) 1991-12-31 1997-09-09 Texas Instruments Incorporated Method and means for translating a data-dependent program to a data flow graph with conditional expression
FR2694120B1 (en) 1992-07-24 1994-09-23 Sgs Thomson Microelectronics Memory word management circuit.
US5421020A (en) 1993-01-08 1995-05-30 International Business Machines Corporation Counter register implementation for speculative execution of branch on count instructions
GB9307623D0 (en) 1993-04-13 1993-06-02 Jonhig Ltd Data writing to eeprom
US6684261B1 (en) 1993-07-19 2004-01-27 Object Technology Licensing Corporation Object-oriented operating system
US5974255A (en) 1993-10-18 1999-10-26 Motorola, Inc. Method for state-based oriented testing
DE69402955T2 (en) 1994-02-08 1997-08-14 Belle Gate Invest Bv Data exchange system with portable data processing units
CA2147536A1 (en) 1994-06-01 1995-12-02 Gerard Johan Holzmann On-the-fly model checking with partial-order state space reduction
US5748964A (en) 1994-12-20 1998-05-05 Sun Microsystems, Inc. Bytecode program interpreter apparatus and method with pre-verification of data type restrictions
US5668999A (en) 1994-12-20 1997-09-16 Sun Microsystems, Inc. System and method for pre-verification of stack usage in bytecode program loops
US5659754A (en) 1995-03-31 1997-08-19 Sun Microsystems, Inc. Method and apparatus for an improved optimizing compiler
US6604190B1 (en) 1995-06-07 2003-08-05 Advanced Micro Devices, Inc. Data address prediction structure and a method for operating the same
US5968169A (en) 1995-06-07 1999-10-19 Advanced Micro Devices, Inc. Superscalar microprocessor stack structure for judging validity of predicted subroutine return addresses
US5809268A (en) 1995-06-29 1998-09-15 International Business Machines Corporation Method and system for tracking resource allocation within a processor
ES2153455T3 (en) 1995-08-04 2001-03-01 Belle Gate Invest B V DATA EXCHANGE SYSTEM THAT INCLUDES PORTABLE DATA PROCESSING UNITS.
US5790859A (en) 1995-12-21 1998-08-04 International Business Machines Corporation Method of, system for, and computer program product for efficient identification of private variables in program loops by an optimizing compiler
US5740419A (en) 1996-07-22 1998-04-14 International Business Machines Corporation Processor and method for speculatively executing an instruction loop
US6463581B1 (en) 1996-10-03 2002-10-08 International Business Machines Corporation Method for determining reachable methods in object-oriented applications that use class libraries
MY126363A (en) 1996-10-25 2006-09-29 Gemalto Sa Using a high level programming language with a microcontroller
US5887161A (en) 1997-03-31 1999-03-23 International Business Machines Corporation Issuing instructions in a processor supporting out-of-order execution
FR2770918B1 (en) 1997-11-07 1999-12-10 Gemplus Card Int METHOD FOR SECURE MANAGEMENT OF A MEMORY
US6349344B1 (en) 1997-12-16 2002-02-19 Microsoft Corporation Combining multiple java class files into a run-time image
US6282700B1 (en) 1998-05-21 2001-08-28 Hewlett Packard Company Mechanism for maintaining revisions of objects in flash memory
US6526571B1 (en) 1999-03-16 2003-02-25 International Business Machines Corporation Method for identifying calls in java packages whose targets are guaranteed to belong to the same package
US6601114B1 (en) 1999-05-27 2003-07-29 Sun Microsystems, Inc. Fully lazy linking with module-by-module verification
US6292874B1 (en) 1999-10-19 2001-09-18 Advanced Technology Materials, Inc. Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges
US6263302B1 (en) * 1999-10-29 2001-07-17 Vast Systems Technology Corporation Hardware and software co-simulation including simulating the cache of a target processor
US6718485B1 (en) * 1999-11-16 2004-04-06 Parasoft Corporation Software emulating hardware for analyzing memory references of a computer program
FR2806813A1 (en) 2000-03-17 2001-09-28 Jean Michel Poupeau Smart card memory management system allowing card users access to a number of services offered by a town
US6735758B1 (en) 2000-07-06 2004-05-11 International Business Machines Corporation Method and system for SMP profiling using synchronized or nonsynchronized metric variables with support across multiple systems
US6957418B2 (en) * 2001-01-23 2005-10-18 Altia, Inc. System and method of designing, testing, and employing graphical computer code
US7076773B2 (en) 2001-03-20 2006-07-11 International Business Machines Corporation Object oriented apparatus and method for allocating objects on an invocation stack in a dynamic compilation environment
GB2377283B (en) 2001-04-10 2004-12-01 Discreet Logic Inc Initialising modules
US6978018B2 (en) 2001-09-28 2005-12-20 Intel Corporation Technique to support co-location and certification of executable content from a pre-boot space into an operating system runtime environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038397A (en) * 1994-05-20 2000-03-14 Matsushita Electric Industrial Co., Ltd. System for allocating the memory area of second data which value need not be preserved to another data of some of the processes

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"MEMORY CORRUPTION DEBUGGING SYSTEM", IBM TECHNICAL DISCLOSURE BULLETIN, IBM CORP. NEW YORK, US, vol. 38, no. 1, 1995, pages 395 - 400, XP000498811, ISSN: 0018-8689 *
"PSEUDO-DYNAMIC ALGORITHM FOR COMPUTER MEMORY ALLOCATION", IBM TECHNICAL DISCLOSURE BULLETIN, IBM CORP. NEW YORK, US, vol. 36, no. 9A, 1 September 1993 (1993-09-01), pages 597 - 599, XP000396177, ISSN: 0018-8689 *
COCKX A J: "Whole program compilation for embedded software: the ADSL experiment", PROCEEDINGS OF THE 9TH. INTERNATIONAL WORKSHOP ON HARDWARE/SOFTWARE CODESIGN. CODES 2001. COPENHAGEN, DENMARK, APRIL 25 - 27, 2001, PROCEEDINGS OF THE INTERNATIONAL WORKSHOP ON HARDWARE/SOFTWARE CODESIGN, NEW YORK, NY: ACM, US, 25 April 2001 (2001-04-25), pages 214 - 218, XP010543443, ISBN: 1-58113-364-2 *

Also Published As

Publication number Publication date
WO2003081426A2 (en) 2003-10-02
US7010783B2 (en) 2006-03-07
US20030177472A1 (en) 2003-09-18
AU2003223308A8 (en) 2003-10-08
AU2003223308A1 (en) 2003-10-08

Similar Documents

Publication Publication Date Title
WO2003081426A3 (en) Method and apparatus for deployment of high integrity software using reduced dynamic memory allocation
AU2003285735A1 (en) Dynamic resource allocation platform and method for time related resources
EP1579287A3 (en) Dynamic resource allocation platform and method for time related resources
WO2004012080A3 (en) Method for dynamically allocating and managing resources in a computerized system having multiple consumers
GB2410106B (en) Dynamic storage device pooling in a computer system
CA2107387A1 (en) Method and system for reducing memory allocation requests
GB0215118D0 (en) Dynamic resource allocation in a multimodal system
WO2008082772A3 (en) Dynamic allocation of message buffers
WO2003096157A3 (en) Method and apparatus for creating a virtual data copy
TW200609727A (en) Method and apparatus for dynamic hosting partition page assignment
TW200627168A (en) Resource allocation management
AU2003279016A1 (en) Generation of computer resource utilization data per computer application
CA2295273A1 (en) Dynamic resource reallocation
TW200715216A (en) Apparatus and methods for graphics processing
AU3000199A (en) Method of and apparatus for managing resource allocation and bandwidth overflow in a cooperative, distributed computing environment
GB0421341D0 (en) Method and apparatus for executing dynamic memory management with object-oriented program
AU2417901A (en) A system, a device, a computer program product and a method for allocating resources to users
EP1376354A3 (en) Method of and apparatus for providing deferred memory allocation
EP1560119A3 (en) Method and apparatus for adaptive garbage collection
DE50015218D1 (en) METHOD FOR DYNAMIC MEMORY MANAGEMENT
WO2004074960A3 (en) Distributed fragment caching and assembly in distributed computing applications
WO2004074962A3 (en) Allocation of processes to processors in a processor array
WO2003083637A3 (en) Device resoure allocation
AU2003282876A8 (en) Dynamic computer software for trading securities
WO2006037212A8 (en) Allocation of threads to user objects in a computer system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP