Oleg Zabluda's blog
Thursday, December 06, 2018
"""
"""
We humans have long been aware of the seasonal changes in bird populations. But just taking note of the comings and goings of our winged friends hardly answers the question of what they're up to.
For centuries, speculation has risen to the task with sometimes comical results. Aristotle declared that summer Redstarts annually transform themselves into Robins in winter. He also thought summertime Garden Warblers change into Blackcaps. These miraculous transmutations were treated as a matter of fact for hundreds of years, and not just on the authority of Aristotle. Observation seemed to coincide with the explanation in this case: Redstarts migrate to sub-Saharan Africa at a time when Robins, who breed farther north, come to winter in Greece. Since the species were never completely present at the same time, the explanation seemed plausible.
More fanciful was the story of crane migrations. The Common Crane breeds in the marshlands of northern Europe and Asia and makes yearly migrations into Turkey, Iraq, and even down into Sudan and Ethiopia. But, as early as Homer's Iliad, we find the strange notion that cranes are annually at war at the far ends of the earth with Pygmies. In Homer's epic, the Trojan army is compared to the
shriek of cranes down from heaven
who flee the winter and the terrible rains
and fly off to the world's end
bringing death and doom to the Pygmy-men
as they open fierce battle at dawn.
Roman naturalist Pliny the Elder reports an already ancient factoid that these pygmies fight the cranes with arrows while mounted on goats and rams. They must spend a good three months of the year eating the cranes' eggs and chicks; otherwise, they would never survive the terrible onslaught of the birds, Pliny tells us.
Along with transmutation and migration, was a belief in hibernation. Aristotle claimed swallows and kites had been found in holes in the ground, and again, his authority kept this belief alive for centuries.
We find this idea still viable in a sixteenth-century History and Nature of the Northern Peoples by Swedish Archbishop Olaus Magnus. A woodblock print from 1555 shows fishermen pulling up a net-load of hibernating swallows from a lake. The passage on swallows bristles with elaborate pseudo-information. The swallows congregate in vast numbers in fall, and sink down into the mud and water, packed like sardines. Inexperienced fishermen, Olaus said, will try to warm up these swallows and revive them, but they soon die. Experienced fishermen just leave them undisturbed.
"""
https://www.uh.edu/engines/epi2228.htm
https://www.uh.edu/engines/epi2228.htm
Labels: Oleg Zabluda
The benefits and costs of writing a POSIX kernel in a high-level language (2018) Cody Cutler, M.
The benefits and costs of writing a POSIX kernel in a high-level language (2018) Cody Cutler, M. Frans Kaashoek, and Robert T. Morris, MIT CSAIL
"""
This paper presents an evaluation of the use of a high-level language (HLL) with garbage collection to implement a monolithic POSIX-style kernel. The goal is to explore if it is reasonable to use an HLL instead of C for such kernels, by examining performance costs, implementation challenges, and programmability and safety benefits.
The paper contributes Biscuit, a kernel written in Go that implements enough of POSIX (virtual memory, mmap, TCP/IP sockets, a logging file system, poll, etc.) to execute significant applications. Biscuit makes lib- eral use of Go's HLL features (closures, channels, maps, interfaces, garbage collected heap allocation), which sub- jectively made programming easier. The most challenging puzzle was handling the possibility of running out of ker- nel heap memory; Biscuit benefited from the analyzability of Go source to address this challenge.
On a set of kernel-intensive benchmarks (including NG- INX and Redis) the fraction of kernel CPU time Biscuit spends on HLL features (primarily garbage collection and thread stack expansion checks) ranges up to 13%. The longest single GC-related pause suffered by NGINX was 115 microseconds; the longest observed sum of GC delays to a complete NGINX client request was 600 microsec- onds. In experiments comparing nearly identical system call, page fault, and context switch code paths written in Go and C, the Go version was 5% to 15% slower.
"""
https://www.usenix.org/conference/osdi18/presentation/cutler
https://www.usenix.org/conference/osdi18/presentation/cutler
Labels: Oleg Zabluda