WorldCat Identities

Lam, Monica S.

Works: 23 works in 47 publications in 4 languages and 346 library holdings
Genres: Case studies  Filmed lectures  Nonfiction films 
Roles: Author, Thesis advisor
Classifications: QA76.76.C65, 005.453
Publication Timeline
Most widely held works by Monica S Lam
A systolic array optimizing compiler by Monica S Lam( Book )

10 editions published between 1987 and 1989 in English and Undetermined and held by 158 WorldCat member libraries worldwide

Accounting information systems cases by Merle P Martin( Book )

7 editions published between 2002 and 2003 in English and Chinese and held by 100 WorldCat member libraries worldwide

Compilers, principles, techniques, and tools by Alfred V Aho( Book )

6 editions published between 2006 and 2014 in English and held by 22 WorldCat member libraries worldwide

"This new edition of the classic "Dragon" book has been completely revised to include the most recent developments to compiling. The book provides a thorough introduction to compiler design and continues to emphasize the applicability of compiler technology to a broad range of problems in software design and development. The first hall of the book is designed for use in an undergraduate compilers course while the second half can be used in a graduate course stressing code optimization."--Jacket
Fault-tolerance and two-level pipelining in VLSI systolic arrays by H. T Kung( Book )

3 editions published in 1983 in English and Undetermined and held by 6 WorldCat member libraries worldwide

This paper addresses two important issues in systolic array designs: fault-tolerance and two-level pipelining. The proposed 'systolic' fault-tolerant scheme maintains the original data flow pattern by bypassing defective cells with a few registers. As a result, many of the desirable properties of systolic arrays (such as local and regular communication between cells) are preserved. Two-level pipelining refers to the use of pipelined functional units in the implementation of systolic cells. This paper addresses the problem of efficiently utilizing pipelined units to increase the overall system throughput. We show that both of these problems can be reduced to the same mathematical problem of incorporating extra delays on certain data paths in originally correct systolic designs. We introduce the mathematical notion of a cut which enables us to handle this problem effectively. The results obtained by applying the techniques described in this paper are encouraging. When applied to systolic arrays without feedback cycles, the arrays can tolerate large numbers of failures (with the addition of very little hardware) while maintaining the original throughput. Furthermore, all of the pipeline stages in the cells can be kept fully utilized through the addition of a small number of delay registers. However, adding delays to systolic arrays with cycles typically induces a significant decrease in throughput. In response to this, we have derived a new class of systolic algorithms in which the data cycle around a ring of processing cells
Konpaira : Genri gihō tsūru( Book )

2 editions published in 2009 in Japanese and held by 4 WorldCat member libraries worldwide

Wafer-scale integration and two-level pipelined implementations of systolic arrays by H. T Kung( Book )

2 editions published in 1984 in English and held by 2 WorldCat member libraries worldwide

The design of SMART : a scheduler for multimedia applications by Jason Nieh( Book )

1 edition published in 1996 in English and held by 2 WorldCat member libraries worldwide

Abstract: "We have created SMART, a Scheduler for Multimedia And Real-Time applications. SMART supports both real-time and conventional computations and provides flexible and accurate control over the sharing of processor time. SMART is able to satisfy real-time constraints in an optimal manner and provide proportional sharing across all real-time and conventional tasks. Furthermore, when not all real-time constraints can be met, SMART satisfies each real-time task's proportional share of deadlines, and adjusts its execution rate dynamically. This technique is especially important for multimedia applications that can operate at different rates depending on the loading condition. This paper presents the design of SMART and provides measured performance results of its effectiveness based on a prototype implementation in the Solaris [registered trademark symbol] operating system."
An efficient shared memory layer for distributed memory machines by Daniel J Scales( Book )

1 edition published in 1994 in English and held by 2 WorldCat member libraries worldwide

Abstract: "This report describes a system called SAM that simplifies the task of programming machines with distributed address spaces by providing a shared name space and dynamic caching of remotely accessed data. SAM makes it possible to utilize the computational power available in networks of workstations and distributed memory machines, while getting the ease of programming associated with a single address space model. The global name space and caching are especially important for complex scientific applications with irregular communication and parallelism. SAM is based on the principle of tying synchronization with data accesses. Precedence constraints are expressed by accesses to single-assignment values, and mutual exclusion constraints are represented by access to data items called accumulators. Programmers easily express the communication and synchronization between processes using these operations; they can also use alternate paradigms that are built with the SAM primitives. Operations for prefetching data and explicitly sending data to another processor integrate cleanly with SAM's shared memory model and allow the user to obtain the efficiency of message passing when necessary. We have built implementations of SAM for the CM-5, the Intel iPSC/860, the Intel Paragon, the IBM SP1, and heterogeneous networks of Sun, SGI, and DEC workstations (using PVM). In this report, we describe the basic functionality provided by SAM, discuss our experience in using it to program a variety of scientific applications and distributed data structures, and provide performance results for these complex applications on a range of machines. Performance results for applications of such complexity have not typically been available for most other distributed shared memory systems. Our experience indicates that SAM significantly simplifies the programming of these parallel systems, supports the necessary functionality for developing efficient implementations of sophisticated applications, and provides portability across a range of distributed memory environments."
Compiladores : princípios, técnicas e ferramentas( Book )

1 edition published in 2008 in Portuguese and held by 1 WorldCat member library worldwide

Musubi an open mobile social network by Monica S Lam( Visual )

1 edition published in 2011 in English and held by 1 WorldCat member library worldwide

All the social networks available today are 'social intranets'. To interact, users must belong to the same proprietary network who owns and controls all of the users' personal data as well as the application platform. With social networks like Facebook boasting of over 750 million users, it is possible that a monopoly in social networks may emerge, putting at risk not just personal privacy but open competition as well. This talk presents the architecture of an open mobile social internet where users can interact with each other without signing up to a proprietary network. Prof Lam and her research group have created a prototype system called Musubi which uniquely provides disintermediated social sharing services; all communication is supported using public key encryption thus leaking no user information to a third party. Musubi is also a platform that facilitates the development of disintermediated social applications. Musubi is available on the Android market
The interactive performance of SLIM : a stateless, thin-client architecture by Brian K Schmidt( Book )

1 edition published in 2000 in English and held by 1 WorldCat member library worldwide

Omlet : a platform for a programmable open mobile internet (POMI) by Monica S Lam( Visual )

1 edition published in 2014 in English and held by 1 WorldCat member library worldwide

Today's social networking and communication software are closed and proprietary, built with the goal of monetizing users' data. This talk calls upon the students in universities to help create a programmable open mobile internet. Developed expressly for the mobile device, Omlet provides a rich platform for impactful computer science research. Omlet is a chat app and an open and distributed mobile app platform, made commercially available by a spinout from the Computer Science Department at Stanford after 4 years of research funded by the National Science Foundation. This platform makes possible a new ecosystem where (1) users can share and communicate freely while owning their data; (2) app developers can easily create social mobile apps, uncontrolled by proprietary social networks; (3) cloud services can interoperate to host users' social data. The core technologies in this system are an identity-based group message routing system and a distributed semantic file system
A loop transformation theory and algorithm to maximize parallelism by Michael E Wolf( Book )

1 edition published in 1991 in English and held by 1 WorldCat member library worldwide

The design, implementation, and evaluation of SMART: a scheduler for multimedia applications by Jason Nieh( Book )

1 edition published in 2000 in English and held by 1 WorldCat member library worldwide

Interprocedural parallelization analysis: preliminary results by Stanford University( Book )

1 edition published in 1995 in English and held by 1 WorldCat member library worldwide

This paper describes a fully interprocedural automatic parallelization system for Fortran programs, and presents the results of extensive experiments obtained using this system. The system incorporates a comprehensive and integrated collection of analyses including dependence, privatization and reduction recognition for both array and scalar variables, and scalar symbolic analysis to support these. All the analyses have been implemented in the SUIF (Stanford University Intermediate Format) compiler system, with the aid of an interprocedural analysis construction tool known as FIAT. Our interprocedural analysis is uniquely designed to provide the same quality of information as if the program were analyzed as a single procedure, while managing the complexity of the analysis
The design, implementation and evaluation of SMART: a scheduler for multimedia applications by Stanford University( Book )

1 edition published in 1997 in English and held by 1 WorldCat member library worldwide

No man's land a documentary about the San Francisquito Creek : a video production by Monica S Lam( Visual )

1 edition published in 1996 in English and held by 1 WorldCat member library worldwide

"... [A]bout a creek's relationship to the communities through which it runs and how those communities afftect the creek in return. The San Francisquito Creek is on of the few remaining natural resources on the San Francisco Peninsula of California. It is an example of how natural resources play multiple roles. The different communities which are physically connected by the creek each have their own visions for planning and preserving their immediate environment. This video looks at the different perspectives concerning the San Francisquito Creek in order to explore the issues which surround natural resources in urbanized communities"--Container
Type safety in the Linux kernel by Brian William Hackett( )

1 edition published in 2010 in English and held by 1 WorldCat member library worldwide

Type casts are ubiquitous in Linux and other systems software. Casts reinterpret a pointer to a heap object of one type as a pointer to another type, and are the main way by which programmers can violate type safety, the notion that objects are used as a consistent type throughout their lifetime. A program which is not type safe can exhibit corruption and crashes. Moreover, the C language provides no guarantees about type safety, so responsibility for ensuring type safety falls entirely to programmers. This thesis describes an approach to proving that type casts preserve type safety, specifically in the Linux kernel. This approach uses automated static analysis to infer the abstractions underlying each type cast: type casts are performed for a reason, often to implement polymorphism or another advanced programming language feature, and by identifying this reason the cast can be proved safe. We prove this safety for 75.2% of downcasts to structure types in Linux, out of a population of 28767. Analyzing type casts in Linux requires deep reasoning about the heap at a scale well beyond the previous state of the art. This thesis describes the analysis techniques we developed for this problem, which are broadly applicable to doing sound and precise analysis of the heap at a large scale
In Search of Speculative Thread-Level Parallelism( )

1 edition published in 1999 in English and held by 0 WorldCat member libraries worldwide

This paper focuses on the problem of how to find and effectively exploit speculative thread-level parallelism. Our studies show that speculating only on loops does not yield sufficient parallelism. We propose the use of speculative procedure execution as a means to increase the available parallelism. An additional technique, data value prediction, has the potential to greatly improve the performance of speculative execution. in particular return value prediction improves the success of procedural speculation, and stride value prediction improves the success of loop speculation
A compiler for creating evolutionary software and application experience by Brian K Schmidt( )

1 edition published in 2001 in English and held by 0 WorldCat member libraries worldwide

"Recent studies have shown that significant amounts of value repetition occur in modern applications. Due to global initialized data, immediate values, address calculations, redundancy in external input, etc.; the same value is used at the same program point as much as 80% of the time. Naturally, attention has begun to focus on how compilers and specialized hardware can take advantage of this value locality. Unfortunately, there is significant overhead associated with dynamically recognizing predictable values and optimizing for them; and all too, this cost dramatically outweighs the benefits. There are various levels at which value locality can be observed and used for optimization, ranging from register value re-use to function memorization. We are concerned with predictability of program variable values across multiple runs of a given program. In this paper we present a complete system that automatically translates ordinary sequential programs into evolutionary software, software that evolves to improve its performance using execution information from previous runs. This concept can have a significant impact on software engineering, as it can be used to replace the manual performance tuning phase in the application development lifecycle. Not only does it alleviate the developer from a tedious and error-prone task, but it also has the important side effect of keeping applications free from obscure hand optimizations which muddle the code and make it difficult to maintain or port. This concept can also be used to produce efficient applications where static performance tuning is not adequate. Our system automatically identifies targets for program specializations and instruments the code to gather high-level profiling information. Upon completion, the program automatically re-compiles itself when the new profile information suggests that it is profitable. The programmer is completely unaware of this process, as the software tailors itself to its environment. We have demonstrated the utility of our system by using it to optimize graphics applications that are built upon a general-purpose graphics library. While much of this work is based on well-established techniques, this is the first practical system which takes advantage of predictability in a way such that the overhead does not overwhelm the benefit."--Abstract
moreShow More Titles
fewerShow Fewer Titles
Audience Level
Audience Level
  Kids General Special  
Audience level: 0.64 (from 0.51 for Accounting ... to 1.00 for In Search ...)

A systolic array optimizing compiler
Alternative Names
Monica S. Lam Computer scientist

Monica S. Lam especialista en informtica estadounidense

Monica S. Lam informatica statunitense

Monica S. Lam Informatikerin

ラム, M. S

Accounting information systems casesCompilers, principles, techniques, and tools