Concurrent computing Created 2026-10-31 Updated 2026-11-05
Concurrent computing organizes computations whose execution intervals can overlap. They may interleave on one processor or run simultaneously on several; concurrency therefore differs from hardware parallel computing. Two workers incrementing a shared counter by separate read-modify-write steps can lose an update if both read the same old value. Synchronization constrains such interactions, while message passing organizes communication through explicit exchanges. A correct concurrent program must account for permitted schedules, not merely the particular order seen during one successful run.
Event loop 2026-11-05
An event loop repeatedly obtains pending software events and dispatches them to their event handlers, waiting when no work is available. This lets one thread service many intermittent activities without a separate continuously running loop for each. Qt's application event loop dispatches timer, network and other software events.[ref]
Suppose a button starts a calculation that takes ten seconds. Running that calculation synchronously inside its event handler prevents the same event loop from repainting or processing further clicks during those ten seconds. Dividing the work into short steps or delegating it to another thread lets the event handler return. An event loop coordinates readiness and dispatch; it does not itself provide parallel computing for long computations.
Kevin C. Webb Created 2026-10-13 Updated 2026-11-05
Kevin C. Webb coauthored Dive into Systems by Suzanne J. Matthews and others, which connects computer programs to their machine-level implementation. Its progression through programming languages, instruction set architectures, computer memory and parallel computing explains how the representation and execution of a computer program affect its running time. The authors maintain an open online version with concrete examples.[ref]
Figure 1.
Portrait of Kevin C. Webb
. External portrait hosted by Swarthmore College Department of Computer Science. Source.
Lustre file system 2026-11-05
The Lustre file system is a distributed parallel file system designed to let many compute clients access a shared file namespace and large datasets. It separates namespace and file metadata operations from bulk file-content transfer. A Lustre metadata server manages naming and metadata on metadata targets; a Lustre object storage server serves data objects on object storage targets. Clients use the metadata to locate file content and then communicate with the storage services.[ref]
A large file can be striped over several storage targets, letting different portions be transferred in parallel. This differs from making independent copies: the stripe layout distributes pieces of one file. Aggregate bandwidth can grow with storage services and clients, but small-file workloads may instead be limited by metadata operations or network latency. Understanding the separate paths explains why adding bulk-storage capacity does not necessarily speed every directory-heavy workload.
A Lustre object storage server serves the bulk file contents of a Lustre file system. It manages one or more object storage targets, which hold stored pieces of files. After obtaining layout information through the metadata service, clients communicate with the relevant storage servers to transfer those pieces.[ref]
For example, a large file can distribute alternating stripes across two targets. Clients can transfer different portions in parallel computing, increasing aggregate bandwidth when the servers and network have capacity. This distribution is not automatically replication: losing one required stripe can make the file incomplete. Distinguishing the serving machine from its storage targets also explains why adding another target need not add an independent server's processing or network capacity.
Parallel computing 2026-11-05
Parallel computing performs multiple parts of a computation simultaneously, typically on several processors or execution units. It requires decomposing work and coordinating data dependencies, communication and synchronization. Concurrent computing also permits overlapping activities on a single processor, so concurrency alone does not imply simultaneous hardware execution.
If fraction of a fixed computation remains serial and the rest divides perfectly among processors, the idealized runtime is . Thus Amdahl's law gives speedup
for . With a 10 percent serial fraction and 10 processors, the ideal speedup is about 5.26, before communication overhead. The calculation assumes a fixed workload; changing the workload size changes the question. Load imbalance and limited memory bandwidth can further reduce the achieved gain.
Suzanne J. Matthews Created 2026-10-13 Updated 2026-11-05
Suzanne J. Matthews coauthored Dive into Systems by Suzanne J. Matthews and others, which connects computer programs to their machine-level implementation. Its progression through programming languages, instruction set architectures, computer memory and parallel computing explains how the representation and execution of a computer program affect its running time. The authors maintain an open online version with concrete examples.[ref]
Figure 1. . External portrait hosted by Suzanne J. Matthews’s official academic website. Source.
Tia Newhall Created 2026-10-13 Updated 2026-11-05
Tia Newhall coauthored Dive into Systems by Suzanne J. Matthews and others, which connects computer programs to their machine-level implementation. Its progression through programming languages, instruction set architectures, computer memory and parallel computing explains how the representation and execution of a computer program affect its running time. The authors maintain an open online version with concrete examples.[ref]
Figure 1.
Portrait of Tia Newhall
. External portrait hosted by Swarthmore College. Source.
Victor Eijkhout 2026-11-05
Victor Eijkhout is a computing researcher and author of TeX by Topic by Victor Eijkhout, a technical reference explaining how TeX processes input, expands macros and builds typeset material. Its subject-based organization makes the distinction between TeX tokens, TeX expansion and later layout operations explicit.[ref]
A small example illustrates the kind of mechanism such a reference explains. Define a TeX macro with \def\double#1{#1#1}. The call \double{ab} substitutes the argument's two letter tokens twice, producing the expanded letter-token sequence abab. In contrast, \double ab takes only the next unbraced letter token as its argument; the remaining b follows the replacement, giving aab. These are own illustrative calls under ordinary tokenization, not quotations from the book.[ref]
The example shows why reading source as raw character substitution can be misleading. Argument boundaries and tokenization are part of the computation; the eventual visual layout is a later concern. That separation connects a practical typesetting problem with more general ideas about programming language processing.
His institutional profile also identifies work in numerical linear algebra, scientific computing and parallel computing, and links his computing textbooks. These are professional contributions beyond the TeX reference, rather than evidence inferred from a similarly named person.[ref]
Figure 1.
Portrait of Victor Eijkhout
. Portrait linked from the institutional profile at the Texas Advanced Computing Center. Source.