摘要:
A chunking controller within a broker layer detects a large object, where a large object is one that the size of the allocation of the large object within a memory heap exceeds a maximum contiguous free space within the Java heap. The broker layer operates atop the Java Virtual Manager to facilitate communication and business processes between heterogeneous systems. The chunking controller describes the large object by an underlying array of the large object divided into multiple pieces of a size not exceeding the maximum contiguous free space. Then, the chunking controller enables requests through the broker layer for allocation by the Java Virtual Manager of each of the pieces of the large object within the Java heap, such that the broker layer facilitates efficient allocation of large objects in the Java heap managed by the Java Virtual Manager.
摘要:
A business integration (BI) system receives business objects from a source application at an event partitioner. Event partitioner partitions received business objects into independent sets based on interdependent events, and allocates each independent group of business events to a separate event queue based a partitioning modulo reduction transformation of the independent sets to determine the correct event queue for storing a particular received business object. This transformation reduces the number of independent sets to a number of event groups equal to the number of allocated event queues. Events in different groups are delivered to an interchange server through the separate event queues so that they may be processed independently and in parallel, thus improving the overall performance of the interchange server, while guaranteeing that dependent events are processed in the correct serial order.
摘要:
A system and method for incrementally compacting a computer system heap is presented. A heap, such as a garbage-collected heap in a Java environment, is divided into logical regions. When the heap is becoming fragmented, an incremental compaction cycle is commenced. During a first time period, the first region of the heap is compacted, with subsequent regions being compacted during subsequent time periods. A time period commences when a garbage collection event occurs. In a multiprocessor environment the regions can be divided into a number of sections which are each compacted using a different processor. One or more break tables are constructed indicating how far contiguous groups of moveable objects should be moved to better group objects and eliminate interspersed free spaces. References throughout the heap that point to objects within the compacted region are then adjusted so that the references point to the new object locations.
摘要:
A method, system, and program for facilitating non-contiguous allocation of a chunked object within a Java heap without changing the manner in which a Java Virtual Manager allocates objects within the heap are provided. According to one embodiment, a chunking controller within a broker layer detects a large object, where a large object is one that the size of the allocation of the large object within a memory heap exceeds a maximum contiguous free space within the Java heap. The broker layer operates atop the Java Virtual Manager to facilitate communication and business processes between heterogeneous systems. The chunking controller describes the large object by an underlying array of the large object divided into multiple pieces of a size not exceeding the maximum contiguous free space. Then, the chunking controller enables requests through the broker layer for allocation by the Java Virtual Manager of each of the pieces of the large object within the Java heap, such that the broker layer facilitates efficient allocation of large objects in the Java heap managed by the Java Virtual Manager.
摘要:
The present invention is a method, system, and computer readable medium for detecting the loading pattern of application and library files, and then reordering the files so that future loads are performed more efficiently. The present invention detects the loading pattern of an application file and library files, and then reorders the pages within the application and library executable files so that future loads are sequential. After being reordered, the application and library files are relinked in order to resolve references. A sequential load access pattern is beneficial, as it takes full advantage of read-ahead performed by the file system. The present invention allows pages of an application or library executable file to be stored in the order in which they will most likely be loaded. Thus, when the file system performs read-ahead, and brings additional pages into memory, these additional pages are the next pages needed and are loaded. By taking advantage of the file system's read-ahead process, application and library load times can be reduced, because I/O wait time associated with the request of pages is overlapped with the processing (i.e. loading) of previously requested pages.