Advertisement

Research and Advances

The art and science of visualizing data

"I manipulate the laser," the artist said, having exploited laboratory equipment. "This is a parallel pipeline systolic SIMD engine we call the 'Jell-O Engine,'" the animator/straight man announced, but not until he had decimated the practice of ray tracing. And officials from supercomputer centers declared the visualization of scientific data would define a new field, a revolutionary way of doing science.
Research and Advances

Anatomy of a compact user interface development tool

Many contemporary user oriented applications require a combination of attributes from both window and forms management systems. PANES was developed as a tool to fill this niche by providing a simple, yet flexible tool for both the moderately trained, as well as the more sophisticated programmer, while allowing the development of user friendly, modeless application software.
Research and Advances

A fair share scheduler

Central-processing-unit schedulers have traditionally allocated resources fairly among processes. By contrast, a fair Share scheduler allocates resources so that users get their fair machine share over a long period.
Research and Advances

Parlog86 and the dining logicians

A classic problem in concurrent programming is that of the "dining philosophers" which challenges the power of any aspiring concurrent program language. Recently, a growing number of logic programming languages have been refined to handle concurrent programming, one in particular is Parlog86.
Research and Advances

Self-organizing search lists using probabilistic back-pointers

A class of algorithms is presented for maintaining self-organizing sequential search lists, where the only permutation applied is to move the accessed record of each search some distance towards the front of the list. During searches, these algorithms retain a back-pointer to a previous probed record in order to determine the destination of the accessed record's eventual move. The back-pointer does not traverse the list, but rather it is advanced occasionally to point to the record just probed by the search algorithm. This avoids the cost of a second traversal through a significant portion of the list, which may be a significant savings when each record access may require a new page to be brought into primary memory. Probabilistic functions for deciding when to advance the pointer are presented and analyzed. These functions demonstrate average case complexities of measures such as asymptotic cost and convergence, similar to some of the more common list update algorithms in the literature. In cases where the accessed record is moved forward a distance proportional to the distance to the front of the list, the use of these functions may save up to 50 percent of the time required for permuting the list.

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More