Patents by Inventor Bart Smaalders
Bart Smaalders 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).
-
Patent number: 11487601Abstract: Techniques for persistent crash logging. The techniques may include making, by a monitor, a first determination that an event information file exists in a volatile storage device location in a volatile storage device. The first determination may be made after an agent event occurs. The techniques may also include performing, by the monitor, an action on a portion of the event information file to obtain a uniquely identifiable filename portion and writing, by the monitor, an event information file copy to a non-volatile storage location in a non-volatile storage device. The techniques may also include, after writing the event information file copy to the non-volatile storage location is complete, renaming, by the monitor, the event information file copy to a uniquely identifiable filename comprising the uniquely identifiable filename portion.Type: GrantFiled: March 26, 2020Date of Patent: November 1, 2022Assignee: Arista Networks, Inc.Inventors: Bart Smaalders, Roman Olegovich Chertov
-
Publication number: 20210303384Abstract: Techniques for persistent crash logging. The techniques may include making, by a monitor, a first determination that an event information file exists in a volatile storage device location in a volatile storage device. The first determination may be made after an agent event occurs. The techniques may also include performing, by the monitor, an action on a portion of the event information file to obtain a uniquely identifiable filename portion and writing, by the monitor, an event information file copy to a non-volatile storage location in a non-volatile storage device. The techniques may also include, after writing the event information file copy to the non-volatile storage location is complete, renaming, by the monitor, the event information file copy to a uniquely identifiable filename comprising the uniquely identifiable filename portion.Type: ApplicationFiled: March 26, 2020Publication date: September 30, 2021Inventors: Bart Smaalders, Roman Olegovich Chertov
-
Patent number: 8381215Abstract: In general the invention relates to a system. The system includes processors each having a processing state. The system further includes a dispatcher operatively connected to the plurality of processors and configured to: receive a first thread to dispatch, select one of the processors to dispatch the thread to based on the processing state the processors and a power management policy, and dispatch the thread to the selected one of the plurality of processors.Type: GrantFiled: September 27, 2007Date of Patent: February 19, 2013Assignee: Oracle America, Inc.Inventors: Darrin P. Johnson, Eric C. Saxe, Bart Smaalders
-
Patent number: 8302098Abstract: A device, system, and method are directed towards managing threads in a computer system with one or more processing units, each processing unit having a corresponding hardware resource. Threads are characterized based on their use or requirements for access to the hardware resource. The threads are distributed among the processing units in a configuration that leaves at least one processing unit with threads that have an aggregate zero or low usage of the hardware resource. Power may be reduced or turned off to the instances of the hardware resource that have zero or low usage. Distribution may be based on one or more of a number of specifications or factors, such as user power management specifications, power usage, performance, and other factors.Type: GrantFiled: December 6, 2007Date of Patent: October 30, 2012Assignee: Oracle America, Inc.Inventors: Darrin Paul Johnson, Eric Christopher Saxe, Bart Smaalders
-
Patent number: 8276126Abstract: Techniques for isolating software regressions are provided. In one approach, QTrace is used to generate DTrace scripts to gather timing information of one or more portions of source code during a test of particular version of a program. Based on results of one or more tests of multiple versions of a program, a regression is identified with respect to a particular portion of source code. It is determined that the particular portion of source code was changed during an intermediate version of the program (i.e., between two tests). The intermediate version and/or the particular portion of source code are identified as being a potential source of the regression.Type: GrantFiled: November 8, 2006Date of Patent: September 25, 2012Assignee: Oracle America, Inc.Inventors: Damien Farnham, Darrin P. Johnson, Sean McGrath, Bart Smaalders
-
Patent number: 8219993Abstract: A device, system, and method are directed towards managing power consumption in a computer system with one or more processing units, each processing unit executing one or more threads. Threads are characterized based on a cycles per instruction (CPI) characteristic of the thread. A clock frequency of each processing unit may be configured based on the CPI of each thread assigned to the processing unit. In a system wherein higher clock frequencies consume greater amounts of power, the CPI may be used to determine a desirable clock frequency. The CPI of each thread may also be used to assign threads to each processing unit, so that threads having similar characteristics are grouped together. Techniques for assigning threads and configuring processor frequency may be combined to affect performance and power consumption. Various specifications or factors may also be considered when scheduling threads or determining processor frequencies.Type: GrantFiled: February 27, 2008Date of Patent: July 10, 2012Assignee: Oracle America, Inc.Inventors: Darrin Paul Johnson, Eric Christopher Saxe, Bart Smaalders
-
Patent number: 7649902Abstract: One embodiment of the present invention provides a system that facilitates buffering data at a kernel in a computer system, wherein the data is buffered based on the structure of a message contained in the data. The system operates by receiving data at a computer system from an external source. Next, the system buffers the data at a kernel on the computer system. As the system buffers the data, the system also determines if the buffered data constitutes a complete message as defined by a communication protocol. If so, the system forwards the buffered data to an application on the computer system.Type: GrantFiled: November 22, 2006Date of Patent: January 19, 2010Assignee: Sun Microsystems, Inc.Inventors: Bruce W. Curtis, Darrin P. Johnson, Bart Smaalders
-
Patent number: 7614056Abstract: An abstraction layer is comprised in the operating system that represents the particulars of the PPMs. The abstractions in the abstraction layer are differentiated from one another by parameters representing the characteristics of the PPMs. The dispatcher uses the abstraction to balance processing loads when assigning execution threads to the PPMs. The assigning of the execution threads and the balancing of the processing loads is performed while taking account of the characteristics of the PPMs, such as shared resources and clock speed.Type: GrantFiled: September 12, 2003Date of Patent: November 3, 2009Assignee: Sun Microsystems, Inc.Inventors: Eric C. Saxe, Andrei Dorofeev, Jonathan Chew, Bart Smaalders, Andrew G. Tucker
-
Publication number: 20090217277Abstract: A device, system, and method are directed towards managing power consumption in a computer system with one or more processing units, each processing unit executing one or more threads. Threads are characterized based on a cycles per instruction (CPI) characteristic of the thread. A clock frequency of each processing unit may be configured based on the CPI of each thread assigned to the processing unit. In a system wherein higher clock frequencies consume greater amounts of power, the CPI may be used to determine a desirable clock frequency. The CPI of each thread may also be used to assign threads to each processing unit, so that threads having similar characteristics are grouped together. Techniques for assigning threads and configuring processor frequency may be combined to affect performance and power consumption. Various specifications or factors may also be considered when scheduling threads or determining processor frequencies.Type: ApplicationFiled: February 27, 2008Publication date: August 27, 2009Applicant: Sun Microsystems, Inc.Inventors: Darrin Paul Johnson, Eric Christopher Saxe, Bart Smaalders
-
Publication number: 20090150893Abstract: A device, system, and method are directed towards managing threads in a computer system with one or more processing units, each processing unit having a corresponding hardware resource. Threads are characterized based on their use or requirements for access to the hardware resource. The threads are distributed among the processing units in a configuration that leaves at least one processing unit with threads that have an aggregate zero or low usage of the hardware resource. Power may be reduced or turned off to the instances of the hardware resource that have zero or low usage. Distribution may be based on one or more of a number of specifications or factors, such as user power management specifications, power usage, performance, and other factors.Type: ApplicationFiled: December 6, 2007Publication date: June 11, 2009Applicant: Sun Microsystems, Inc.Inventors: Darrin Paul Johnson, Eric Christopher Saxe, Bart Smaalders
-
Publication number: 20090089792Abstract: In general, the invention relates to a system that includes a multi-core processor and a dispatcher operatively connected to the multi-core processor. The dispatcher is configured to receive a first plurality of threads during a first period of time, dispatch the first plurality of threads only to a first core of the plurality of cores, receive a second plurality of threads during a second period of time, dispatch the second plurality of threads only to a second core of the plurality of cores, migrate to the second core any of the first plurality of threads that are still executing on the first after the first period of time has elapsed. The duration of the first period of time and the duration of the second period of time are determined using a thread migration schedule, and thread migration schedule is determined using at least one thermal characteristic of the multi-core processor.Type: ApplicationFiled: September 27, 2007Publication date: April 2, 2009Applicant: SUN MICROSYSTEMS, INC.Inventors: Darrin P. Johnson, Eric C. Saxe, Bart Smaalders
-
Publication number: 20090089782Abstract: In general the invention relates to a system. The system includes processors each having a processing state. The system further includes a dispatcher operatively connected to the plurality of processors and configured to: receive a first thread to dispatch, select one of the processors to dispatch the thread to based on the processing state the processors and a power management policy, and dispatch the thread to the selected one of the plurality of processors.Type: ApplicationFiled: September 27, 2007Publication date: April 2, 2009Applicant: SUN MICROSYSTEMS, INC.Inventors: Darrin P. Johnson, Eric C. Saxe, Bart Smaalders
-
Patent number: 7380248Abstract: Methods and apparatus, including computer program products, implementing and using techniques for alerting one or more computer software application threads waiting to retrieve events from an event port. An alert event generated by a computer software application is received at the event port. A state of the event port is changed to an alert state, if the event port is not already in an alert state, in response to receiving the alert event. One or more of the computer software application threads is notified about the alert state of the event port.Type: GrantFiled: February 26, 2004Date of Patent: May 27, 2008Assignee: Sun Microsystems, Inc.Inventors: Miguel Isenberg, Bryan M. Cantrill, Bart Smaalders, Joseph J. Bonasera
-
Publication number: 20080117925Abstract: One embodiment of the present invention provides a system that facilitates buffering data at a kernel in a computer system, wherein the data is buffered based on the structure of a message contained in the data. The system operates by receiving data at a computer system from an external source. Next, the system buffers the data at a kernel on the computer system. As the system buffers the data, the system also determines if the buffered data constitutes a complete message as defined by a communication protocol. If so, the system forwards the buffered data to an application on the computer system.Type: ApplicationFiled: November 22, 2006Publication date: May 22, 2008Inventors: Bruce W. Curtis, Darrin P. Johnson, Bart Smaalders
-
Publication number: 20080109790Abstract: Techniques for isolating software regressions are provided. In one approach, QTrace is used to generate DTrace scripts to gather timing information of one or more portions of source code during a test of particular version of a program. Based on results of one or more tests of multiple versions of a program, a regression is identified with respect to a particular portion of source code. It is determined that the particular portion of source code was changed during an intermediate version of the program (i.e., between two tests). The intermediate version and/or the particular portion of source code are identified as being a potential source of the regression.Type: ApplicationFiled: November 8, 2006Publication date: May 8, 2008Inventors: Damien Farnham, Darrin P. Johnson, Sean McGrath, Bart Smaalders
-
Patent number: 7313795Abstract: A method and system of managing resource allocation in a non-uniform resource access computer system is disclosed. A method comprises determining access costs between resources in a computer system having non-uniform access costs between the resources. The method also includes constructing a hierarchical data structure comprising the access costs. The hierarchical data structure is traversed to manage a set of the resources.Type: GrantFiled: May 27, 2003Date of Patent: December 25, 2007Assignee: Sun Microsystems, Inc.Inventors: Jonathan Chew, Robert L. Berube, Kevin Clarke, Tim Marsland, Eric Saxe, Bart Smaalders
-
Patent number: 7149863Abstract: In a computer system, a descriptive memory allocation system is described having a memory policy allocation module for setting memory allocation policies by an operating system in response to descriptive resource use requirements provided by an application requesting access to a specified address range in memory. The descriptive memory allocation system includes a descriptive resource allocator that uses descriptive memory use advice provided by an application to decide how to allocate memory to the application. The descriptive resource allocator includes memory allocation policies that may be set by the operating system after the operating system has determined the appropriate allocation scheme to implement based on an allocation advice provided by a requesting after the application. The application in providing its descriptive memory use information does not specify a specific allocation policy the operating system should use to allocate memory to it.Type: GrantFiled: October 8, 2003Date of Patent: December 12, 2006Assignee: Sun Microsystems, Inc.Inventors: Jonathan J. Chew, Bart Smaalders
-
Publication number: 20040243660Abstract: A method and system of managing resource allocation in a non-uniform resource access computer system is disclosed. A method comprises determining access costs between resources in a computer system having non-uniform access costs between the resources. The method also includes constructing a hierarchical data structure comprising the access costs. The hierarchical data structure is traversed to manage a set of the resources.Type: ApplicationFiled: May 27, 2003Publication date: December 2, 2004Inventors: Jonathan Chew, Robert L. Berube, Kevin Clarke, Tim Marsland, Eric Saxe, Bart Smaalders
-
Patent number: 6748429Abstract: Method for enabling the dynamic modification of cluster configurations, and apparatus including software to perform the method. To enable this dynamic modification, cluster configuration data is stored as a table in a cluster configuration repository that is accessible from all nodes in the cluster. Accordingly, the present invention enables the modification of the cluster configuration from any node in the cluster dynamically. When a reconfiguration command is given, the configuration table is changed and all the nodes in the cluster are notified of the changed configuration in parallel. Following the notification by the nodes of the changed cluster configuration, the changes to the cluster are implemented dynamically as specified by the command.Type: GrantFiled: January 10, 2000Date of Patent: June 8, 2004Assignee: Sun Microsystems, Inc.Inventors: Madhusudhan Talluri, Bart Smaalders, Sundeep Panicker, Krishna Kondaka
-
Patent number: 5937187Abstract: In a multiprocessing computer system, a schedulable process entity (such as a UNIX process, a Solaris lightweight process, or a Windows NT thread) sets a memory flag (sc.sub.-- nopreempt) before acquiring a shared resource. This flag tells the operating system that the process entity should not be preempted. When it is time for the process entity to be preempted, but sc.sub.-- nopreempt is set, the operating system sets a flag (sc.sub.-- yield) to tell the process entity that the entity should surrender the CPU when the entity releases the shared resource. However, the entity is not preempted but continues to run. When the entity releases the shared resource, the entity checks the sc.sub.-- yield flag. If the flag is set, the entity makes an OS call to surrender the CPU.Type: GrantFiled: July 1, 1996Date of Patent: August 10, 1999Assignee: Sun Microsystems, Inc.Inventors: Nicolai Kosche, Dave Singleton, Bart Smaalders, Andrew Tucker