Patents by Inventor Dong-Yuan Chen
Dong-Yuan Chen has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20220374158Abstract: Systems, apparatuses and methods may provide technology for managing a runtime computing environment having tiered object memory placement that assigns a hotness score to an object having an object type based on an invocation count of objects referenced by a hot method, allocates a newly-created object to one of a hot object heap, said hot object heap assigned to store hot objects in a first memory tier, or a cold object heap, said cold object heap assigned to store cold objects in a second memory tier, based on the hotness score associated with the object type for the newly-created object, and migrates a plurality of objects between the hot object heap and the cold object heap based on a hotness score associated with each object. The technology may also operate the object migration in an execution thread independent of an execution thread for the object allocation.Type: ApplicationFiled: December 20, 2019Publication date: November 24, 2022Inventors: Bin Yang, Chao Xie, Dong-Yuan Chen, Jia Bao, Mingqiu Sun, Mohammad R. Haghighat, Qiming Shi, Zhen Zhou
-
Patent number: 7650464Abstract: Data locality optimization through object relocation may be implemented in a virtual machine including a just-in-time compiler. The just-in-time compiler generates load instruction maps for each compiled method. A profile collector is coupled to the just-in-time compiler to receive hardware profiling support. The profile collector takes samples of data cache misses. A garbage collector is coupled to the profile collector. The garbage collector deduces types of objects from the cache miss samples and adjusts garbage collection object copying heuristics to relocate objects for better cache locality based on those types.Type: GrantFiled: March 26, 2007Date of Patent: January 19, 2010Assignee: Intel CorporationInventors: Jack Liu, Dong-Yuan Chen
-
Publication number: 20080243300Abstract: Data locality optimization through object relocation may be implemented in a virtual machine including a just-in-time compiler. The just-in-time compiler generates load instruction maps for each compiled method. A profile collector is coupled to the just-in-time compiler to receive hardware profiling support. The profile collector takes samples of data cache misses. A garbage collector is coupled to the profile collector. The garbage collector deduces types of objects from the cache miss samples and adjusts garbage collection object copying heuristics to relocate objects for better cache locality based on those types.Type: ApplicationFiled: March 26, 2007Publication date: October 2, 2008Inventors: Jack Liu, Dong-Yuan Chen
-
Patent number: 7424705Abstract: Disclosed are a method, apparatus and system for dynamically managing layout of compiled code in a managed runtime environment. Profile feedback is generated during runtime, based on hardware event data that is gathered during runtime. A code manager dynamically relocates compiled code to reduce miss events based on the profile feedback. The code manager may also relocate virtual method tables in a virtual table region in order to reduce data miss events. The method does not require a prior run of an application program because profile feedback is based on event data that is tracked by hardware during execution of the software application and is not based on instrumented code.Type: GrantFiled: March 11, 2004Date of Patent: September 9, 2008Assignee: Intel CorporationInventors: Brian T. Lewis, James M. Stichnoth, Dong-Yuan Chen
-
Publication number: 20070150660Abstract: A compiler or runt-time system may determine a prefetch point to insert an instruction in order to prefetch a memory location and thereby reduce latency in accessing information from a cache. A prefetch predictor generator may decide where and whether to insert the appropriate instructions by looking at information from a hardware monitor. For example, information about cache misses may be analyzed. The differences between target addresses of those cache misses for different instructions may be determined. This information may also be used to determine the locations in the program where the prefetch instructions should be placed, as well as to calculate the address of the memory location being prefetched.Type: ApplicationFiled: December 28, 2005Publication date: June 28, 2007Inventors: Jaydeep Marathe, Dong-Yuan Chen, Ali-Reza Adl-Tabatabai, Anwar Ghuloum, Ara Nefian
-
Patent number: 7082602Abstract: We disclose a function unit based finite state automata data structure for use in computer program compilers. According to an aspect of an embodiment, the data structure comprises a function unit vector, having no more used bits than there are issue ports for any particular microprocessor, and a plurality of valid template assignments for each function unit vector. In a preferred embodiment, the template assignments are constructed so as to account for dispersal rules associated with the particular microprocessor. Further, the template assignments can be sorted according to priority data.Type: GrantFiled: April 12, 2002Date of Patent: July 25, 2006Assignee: Intel CorporationInventors: Chen Fu, Dong-Yuan Chen, Chengyong Wu, Dz-Ching Ju
-
Patent number: 7058937Abstract: A compiler comprising an integrated instruction scheduler and resource management system is provided. According to an aspect of an embodiment, the resource management system includes a function unit based finite state automata system. Instructions to be compiled are modeled through the function unit based finite state automata system based on their function unit usage, before they are emitted as compiled computer code. We also disclose a function unit based finite state automata data structure and computer implemented methods for making the same.Type: GrantFiled: April 12, 2002Date of Patent: June 6, 2006Assignee: Intel CorporationInventors: Chen Fu, Dong-Yuan Chen, Chengyong Wu, Dz-Ching Ju
-
Publication number: 20050204349Abstract: Disclosed are a method, apparatus and system for dynamically managing layout of compiled code in a managed runtime environment. Profile feedback is generated during runtime, based on hardware event data that is gathered during runtime. A code manager dynamically relocates compiled code to reduce miss events based on the profile feedback. The code manager may also relocate virtual method tables in a virtual table region in order to reduce data miss events. The method does not require a prior run of an application program because profile feedback is based on event data that is tracked by hardware during execution of the software application and is not based on instrumented code.Type: ApplicationFiled: March 11, 2004Publication date: September 15, 2005Inventors: Brian Lewis, James Stichnoth, Dong-Yuan Chen
-
Publication number: 20050146449Abstract: In one embodiment, a method is provided. The method of this embodiment provides reading one or more records event data, the one or more event data corresponding to an event monitored from a system; for each event datum, compressing the event datum if the event datum is determined to be compressible; creating a processed event record, the processed event record conforming to a record format; and storing the one or more event data in the processed event record in accordance with the record format.Type: ApplicationFiled: December 30, 2003Publication date: July 7, 2005Inventors: Ali-Reza Adl-Tabatabai, Dong-Yuan Chen, Anwar Ghuloum
-
Publication number: 20050120337Abstract: According to an embodiment of the invention, a method and apparatus are described for memory trace buffering. An embodiment of a processor includes an execution unit and a buffer. The buffer is to store certain data regarding each memory operation of a plurality of memory operations that are executed by the processor.Type: ApplicationFiled: December 1, 2003Publication date: June 2, 2005Inventors: Mauricio Serrano, Ali-Reza Adl-Tabatabai, Anwar Ghuloum, Dong-Yuan Chen, Richard Hudson
-
Patent number: 6836841Abstract: In one embodiment, a method for speculatively reusing regions of code includes identifying a reuse region and a data input to the reuse region, determining whether a data output of the reuse region is contained within reuse region instance information pertaining to a plurality of instances of the reuse region, and when the data output is not contained within the reuse region instance information, predicting the data output of the reuse region based on the reuse region instance information.Type: GrantFiled: June 29, 2000Date of Patent: December 28, 2004Assignee: Intel CorporationInventors: Youfeng Wu, Dong-Yuan Chen
-
Publication number: 20040194077Abstract: Methods and apparatus to collect profile information with respect to computer program block(s) are disclosed. A disclosed method collects profile information with respect to target code by predicating execution of profile collection code on a predicate register value; setting the predicate register value to a first predetermined value to permit execution of the profile information collection code to collect profile information with respect to the target code; and setting the predicate register value to a second predetermined value to prevent execution of the profile collection code.Type: ApplicationFiled: March 28, 2003Publication date: September 30, 2004Inventors: Jayashankar Bharadwaj, Dong-Yuan Chen, Ali-Reza Adl-Tabatabai
-
Publication number: 20030200539Abstract: We disclose a function unit based finite state automata data structure for use in computer program compilers. According to an aspect of an embodiment, the data structure comprises a function unit vector, having no more used bits than there are issue ports for any particular microprocessor, and a plurality of valid template assignments for each function unit vector. In a preferred embodiment, the template assignments are constructed so as to account for dispersal rules associated with the particular microprocessor. Further, the template assignments can be sorted according to priority data.Type: ApplicationFiled: April 12, 2002Publication date: October 23, 2003Inventors: Chen Fu, Dong-Yuan Chen, Chengyong Wu, Dz-Ching Ju
-
Publication number: 20030196197Abstract: A compiler comprising an integrated instruction scheduler and resource management system is provided. According to an aspect of an embodiment, the resource management system includes a function unit based finite state automata system. Instructions to be compiled are modeled through the function unit based finite state automata system based on their function unit usage, before they are emitted as compiled computer code. We also disclose a function unit based finite state automata data structure and computer implemented methods for making the same.Type: ApplicationFiled: April 12, 2002Publication date: October 16, 2003Inventors: Chen Fu, Dong-Yuan Chen, Chengyong Wu, Dz-Ching Ju
-
Patent number: 6631465Abstract: A method and apparatus that provides instruction re-alignment using a branch on a falsehood of a qualifying predicate. A complementary predicate related to a qualifying predicate is determined to be available. Instructions are re-aligned using a branch on a falsehood of the qualifying predicate if the complementary predicate is not available. Thus, a complementary predicate does not have to be generated to re-align instructions if no complementary predicate is available for the qualifying predicate.Type: GrantFiled: June 30, 2000Date of Patent: October 7, 2003Assignee: Intel CorporationInventors: William Y. Chen, Dong-Yuan Chen
-
Patent number: 6571385Abstract: The invention is directed to the transformation of software loops having early exit conditions, thereby allowing the loops to be more effectively converted to a single basic block for software pipelining. The invention assigns a predicate register for each early exit condition of the software loop. The predicate registers are set when the corresponding early exit condition is satisfied. In this manner, when the loop terminates the predicate registers can be examined to indicate which early exit conditions were satisfied. The invention produces loops having a lower recurrence II and resource II than conventional techniques.Type: GrantFiled: March 22, 1999Date of Patent: May 27, 2003Assignee: Intel CorporationInventors: Kalyan Muthukumar, Dong-Yuan Chen, Youfeng Wu, Daniel M. Lavery
-
Patent number: 6505345Abstract: An optimization process is disclosed. The process first finds a parallel compare sequence in a program flow, for example using a flow graph. The guarding predicate (gp) is obtained for the compares. If a new dominating predicate (dp) can be found, the process proceeds to determining if compares for the dp generate the correct or needed initial value for the gp. If there are free result slots available, the proper compares are generated and folded into the initialization. If no free slots are available, it is determined if there is a use of a gp between the dp and gp. If not, the dp is renamed to gp, and the proper compares are generated and folded into the initialization. If there is such a use, the guarding predicate of the compares is found and the process reiterates until it ends with the failure to find a new dominating predicate dp.Type: GrantFiled: January 18, 2000Date of Patent: January 7, 2003Assignee: Intel CorporationInventors: William Y. Chen, Dong-Yuan Chen
-
Publication number: 20030004974Abstract: According to the invention, an apparatus and method are disclosed for configurable system monitoring for dynamic optimization of program execution. According to one embodiment, an event monitoring apparatus for dynamic optimization comprises an event monitor to capture profiles of events that occur in the processing of an application by a microprocessor; an interface to a software component; monitor control vectors to direct the operation of the event monitor; and a profile buffer. According to the embodiment, the events to be monitored are selected by the software component. Profiles of the selected events are captured and stored in the profile buffer. The profiles are made available to a handler routine selected by the software component, which processes the profiles to identify regions of the application for optimization and invokes optimizers to optimize the identified regions.Type: ApplicationFiled: September 28, 2001Publication date: January 2, 2003Inventors: Hong Wang, Dong-Yuan Chen, John Shen, Wen-Hann Wang, Oren Gershon, Gadi Reuven Ziv
-
Publication number: 20030005423Abstract: According to the invention, hardware assisted dynamic optimization of program execution is disclosed. According to one embodiment, an application process executed by a microprocessor is optimized by selecting one or more microarchitecture events relating to the execution of the application process to be monitored by one or more hardware monitors; establishing parameters regarding the monitoring of the microarchitecture events by setting one or more monitor control vectors; processing profile data captured by the hardware monitors regarding the occurrence of the microarchitecture events; identifying a region of interest in the application process for optimization based at least in part on the captured profile data; and optimizing the region of interest in the application process.Type: ApplicationFiled: September 28, 2001Publication date: January 2, 2003Inventors: Dong-Yuan Chen, Hong Wang, Jesse Fang, John Shen, Wen-Hann Wang, Bernard Lint