Inventors list |
Assignees list |
Classification tree browser |
Top 100 Inventors |
Top 100 Assignees |
Chilimbi, WA
Trishul Chilimbi, Seattle, WA US
| Patent application number | Description | Published |
|---|---|---|
| 20100088546 | STATISTICAL DEBUGGING USING PATHS AND ADAPTIVE PROFILING - The method executes the application and if there are no errors from the execution of the application, the method ends. If errors exist, the errors are collected from the execution of the application in an error report. Labeled application paths are created by adding a unique label to individual application paths where the application paths are individual loops and individual functions in the application. An analysis is created of the labeled application paths by executing the application with the labeled paths, reviewing the error report for data related to the labels and if an error is sufficiently related to application paths with labels, storing the path that created the errors in a report. If an error is not sufficient related to the application path with labels, the method is repeated by the creating the analysis again by substituting additional application paths for the application paths. | 04-08-2010 |
Trishul A. Chilimbi, Seattle, WA US
| Patent application number | Description | Published |
|---|---|---|
| 20090276763 | Bounding Resource Consumption Using Abstract Interpretation - Bounding resource consumption of code using abstract interpretation includes a static analysis to estimate a code's resource consumption in terms of units of resources utilized at any point during execution, expressed as a function of its scalar inputs. An instrumentation mechanism and an abstract interpretation mechanism are employed to compute bounds on the code resource consumption. The instrumentation mechanism includes incorporating one or more counter variables in the source code to count the number of loop iterations and recursive procedure call invocations. The abstract interpretation mechanism includes computing invariants on the instrumented counter variables and scalar program variables to obtain bounds on the number of loop iterations and recursive procedure call invocations, which are then composed together to obtain resource bounds for the entire program. | 11-05-2009 |
| 20100088684 | Calculating Resource Bounds Of Programs Manipulating Recursive Data Structures And Collections - Bounding resource consumption of code that processes recursive data structures and collections includes making use of quantitative functions (based on user input) that are associated with a tuple of data-structures and whose semantics is specified by describing the effect of various data-structure methods on the relevant quantitative functions. Counter variables are incorporated into source code to count loop iterations (and number of recursive procedure call invocations). Relevant quantitative functions are incorporated into the source code to allow computation of invariants (and hence bounds) on the incorporated counter variables in terms of the quantitative functions. | 04-08-2010 |
| 20100107142 | SCALABILITY ANALYSIS FOR SERVER SYSTEMS - Described is predicting cache locality in a multicore/multithreaded processing environment including when threads share cache data in a non-uniform interleaving manner. Thread execution traces are analyzed to compute a set of per-thread parameters that can then be used to predict cache miss rates for other cache sizes. In one aspect, a model is based upon a probability that the cache reuse distance will increase because of accesses by other threads, and another probability that the reuse distance will decrease because of intercept accesses by other threads to shared data blocks. Estimates of the number of shared data blocks, possibly shared data blocks and private data blocks are used in the computations. | 04-29-2010 |
| 20100299662 | RESOURCE AWARE PROGRAMMING - The described implementations relate to resource aware programming. In one case a program is obtained that is configured to perform a task in accordance with one or more quantitative metrics. An approximate version can be generated from the program. The approximate version is configured to perform the task in a manner that satisfies the one or more quantitative metrics while using fewer computer resources than the program. | 11-25-2010 |
| 20100318852 | VISUALIZATION TOOL FOR SYSTEM TRACING INFRASTRUCTURE EVENTS - A system and method for identifying a root cause of a wait in a computer system are provided. Given the identity of a thread of interest and time window, a longest wait period for the thread of interest within the time window is identified. The longest wait period is used as a starting node to generate a ready tree by walking backwards through the data in a system trace to construct a tree of readying events that ready threads for running on a processor. A potentially anomalous chain of events is automatically identified and highlighted in the ready tree. A visualization of the ready tree is presented to a user so that the user can explore the events in the tree and annotate the automatically generated tree to aid in problem diagnosis. | 12-16-2010 |
Trishul A. M. Chilimbi, Seattle, WA US
| Patent application number | Description | Published |
|---|---|---|
| 20080301717 | VISUALIZING A MEMORY FOOTPRINT OF AN APPLICATION PROGRAM - A memory footprint interface visibly displays one or more memory footprints of an application program during a selected time interval. In one implementation, the memory footprint interface receives one or more application program address traces, which include data regarding minimum and maximum memory addresses that are being accessed during execution of the program in the selected time interval. The memory footprint interface can animate playback of memory address reference with various timed fadeout, so as to indicate memory reuse or working set size. The memory footprint interface can also then provide a number of visible indicia for the corresponding memory access patterns over the particular time interval. The visible indicia can be used to color code a wide range of data items displayed through the memory footprint interface, so as to differentiate such things as read and/or write access requests, frequency, threads, and so forth. | 12-04-2008 |
Trishul Amit Madhukar Chilimbi, Seattle, WA US
| Patent application number | Description | Published |
|---|---|---|
| 20080222614 | PREFERENTIAL PATH PROFILING - This paper describes preferential path profiling, which enables profiling a specified subset of all possible program paths with very low overhead. Preferential path profiling compactly identifies paths of interest using an array. More specifically, PPP assigns a unique and compact path index identifier to all interesting paths that can be used to index into a path array. The path array contains a second path value identifier that is used to distinguish interesting paths from other program paths This path numbering allows the implementation of preferential path profiling to use array-based counters instead of hash table-based counters for identifying paths of interest and gathering path profiles, which significantly reduces execution time and computational resource overhead during profiling. | 09-11-2008 |
| 20080276025 | LOCK INFERENCE FOR ATOMIC SECTIONS - Locks which protect data structures used within atomic sections of concurrent programs are inferred from atomic sections and acquired in a manner to avoid deadlock. Locks may be inferred by expression correspondence using a backward inter-procedural analysis of an atomic section. Locks may be sorted according to a total order and acquired early in an atomic section to prevent deadlock. Multiple granularity of locks are determined and employed. Fine grained locks may be inferred and acquired to reduce contention. Coarse grained locks may be determined and substituted for fine grained locks when necessary for unbounded locations or to reduce the number of finer grained locks. | 11-06-2008 |
