1993 19.01 1995

Vol.19 n°1 (#210) january 1994

(ddj_1994_01.jpg)

p.6 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.18 SHARED MEMORY AND PC SUPERCOMPUTING

[author : Stephen Fried]

Shared-memory parallel processing, a supercomputer technique used by companies like Cray, is making its way into the PC world. Steve discusses the differences and implications between the shared-memory and distributed-memory approaches to implementing algorithms from the programmer's perspective.

p.30 CPU PERFORMANCE: WHERE ARE WE HEADED?

[author : Hal W. Hardenbergh]

Hal discusses the improvements you can expect in personal uniprocessor computer systems, and the factors that limit those improvements. Nick Tredennick examines the topic from another perspective.

p.40 OPTIMIZING PENTIUM CODE

[author : Mike Schmit]

Chances are you've heard that the payback for optimizing code via hand-tuning for Intel's Pentium processor isn't worth the effort. That's not the case, however, as you'll see with the optimization tricks ASM-expert Mike Schmit shares here. Michael Abrash adds a few thoughts of his own.

p.50 SKIP LISTS

[author : Bruce Schneier]

Skip-list algorithms are generally faster, simpler to implement, require less memory, and are more versatile than balanced-tree algorithms. Bruce examines skip lists and shows how you can squeeze even more performance out of them.

EMBEDDED SYSTEMS

p.54 MAXIMIZING PERFORMANCE OF REAL-TIME RISC APPLICATIONS

[author : Mitchell Bunnell]

RISC processors were designed for fast computation, not necessarily fast real-time performance. Nevertheless, embedded-system designers can benefit from RISC technology following the application-design guidelines Mitchell presents here.

NETWORKED SYSTEMS

p.66 POLYMORPHIC PROTOCOLS

[author : William F. Jolitz]

The Internet's fixed address space is being put to the test by dramatic growth in the number of Internet users. Polymorphic protocols may ultimately be the solution to the address-space problem and similar network limitations.

EXAMINING ROOM

p.74 EXAMINING OS/2 2.1 THREADS

[author : John M. Kanalakis, Jr.]

The OS/2 2.1 multitasking model is based on the execution of threads, making it possible for many sections of a single process to execute simultaneously. John examines OS/2's thread architecture, specifically, the scheduling process.

PROGRAMMER'S WORKBENCH

p.80 SYMMETRIC MULTIPROCESSING FOR PCs

[author : John Norwood and Shankar Vaidyanathan]

Our authors focus on multithreaded application development for single-processor and symmetric-multiprocessor machines under Windows NT. In doing so, they present Fortran interface statements for the Win32 console API and a black-box solution for calling 32-bit DLLs from 16-bit applications under NT.

COLUMNS

p.101 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Michael picks up where our October "Beyond C++: Considering the Alternatives" issue left off by examining some concrete programming techniques that can be used to compare paradigms.

p.105 C PROGRAMMING

[author : Al Stevens]

Before getting back to D-Flat++'s TED text editor, Al takes a second look at Symantec's technical support and C++ compiler.

p.111 ALGORITHM ALLEY

[author : Tom Swan]

Tom explores three different methods of generating random numbers—middle-square, linear-congruential, and Fibonacci—and shows how you can mix two of them to create a combination generator.

p.115 UNDOCUMENTED CORNER

[author : Andrew Schulman]

Much of the preemptive multitasking for Microsoft's Chicago operating system already exists in the form of the Windows 3.1 Virtual Machine Manager. This month, Kelly Zytaruk examines the overall structure of the virtual-memory control block. Next month, he presents a Windows VM Explorer application.

p.131 PROGRAMMER'S BOOKSHELF

[author : Peter D. Varhol]

John Koza's Genetic Programming: On the Programming of Computers by Means of Natural Selection explains what genetic programming is all about and how it can be used to solve a wide variety of problems in system control, planning, and decision support. Thanks to Jim Enochs and Alejandro Roman for their assistance in photographing Apple Computer's Napa, California data facility, which is shown on our cover.

FORUM

p.10 LETTERS

[author : you]

p.144 SWAINE'S FLAMES

[author : Michael Swaine]

PROGRAMMER'S SERVICES

p.138 OF INTEREST

[author : Monica E. Berg]