by Andrew Cunningham
|ACTIVITY||BROADWELL I5 NUC||HASWELL NUC||BROADWELL I7 NUC|
|Idle at desktop (display off)||6.7W||6.4W||9.0W|
|Watching YouTube in Chrome||9.1W||9.0W||11.8W|
|Running GFXBench Manhattan benchmark (peak)||37.2W||38.0W||51.1W|
|Running Prime95 CPU torture test||31.8W||29.7W|| 50.9W (peak), 42.4W (sustained)|
“Migration of Professionals to the US: Evidence from LinkedIn data”
“The Advantages of Demographic Change after the Wave: Fewer and Older, but Healthier, Greener and more Productive?”
“Bayesian Forecasting of Cohort Fertility”
“The Relative Importance of Frequency of Contact and Duration of Exposure for the Spread of Directly Transmitted Infections”
“Inferring International and Internal Migration Patterns from Twitter Data”
“The life cycle dimension of time transfers in Europe”
“Studying International mobility through IP geolocation”
“You are where you e-mail: Using e-mail data to estimate International migration rates”
“The impact of the HIV/AIDS epidemic on kinship resources for orphans in Zimbabwe”
In February of 1999, Howard Chu sent me a patch with the basic idea of the jobserver. Rather than using complex schemes such as a central server, shared memory, sockets, etc. for synchronizing the various instances of make, he suggested we use the simplest, most basic UNIX construct: a pipe. Not only is this easy, but it’s also a relatively portable concept. Most operating systems these days implement some sort of pipe feature, because that paradigm is so useful.
The idea is ingeniously simple: the initial, top-level make creates a pipe and writes N one-byte tokens into the pipe. That pipe is shared between that make and all submakes, and any time any make wants to run a job it first has to read a token from the pipe. Once the job is complete, it writes the token back to the pipe. Since there are only N tokens, you know that you will never invoke more than N jobs.
After some debugging it turns out that not all operating systems that supposedly support SA_RESTART actually do support it properly. Operating systems as common as Solaris do not properly restart common system calls like stat upon receiving signals, even if the SA_RESTART flag is properly set. This is extremely unfortunate, as the POSIX standard is fairly clear on this point: if a system call can return with EINTR, then it must implement the SA_RESTART semantics properly. Solaris, and a number of other operating systems, fail to do so. GNU/Linux, I’m happy to say, as far as I can tell does properly implement SA_RESTART.
Because of this I was forced to add special code back into GNU make to handle situations where system calls might return with EINTR, even in areas where I know that SA_RESTART will always be set. This is highly unfortunate and, due to the difficulty I’m sure there are places which are not properly protected. In the latest versions of GNU make I’ve done all the obvious and common cases, but it must be admitted that until the vendors properly implement the POSIX spec, there is an outside chance that using GNU make’s jobserver feature will lead to unexpected behavior on those operating systems.
Kenyon International Emergency Services is a crisis and disaster management company, recognized as the world’s leader in providing crisis management services. Kenyon is the only private disaster management company with dedicated, full-time resources spread across four regional offices. Kenyon’s client base exceeds all our competitors combined and all Kenyon equipment is owned and maintained in preparation for immediate deployment. With over 100 years of experience responding to 340+ incidents, Kenyon guarantees first class resources, services and software to meet the demands of any incident.
Since Kenyon was established in 1906, our specialized staff have responded to literally hundreds of aircraft accidents, handling every process from search and recovery of human remains and personal property to repatriation of human remains to their families.
While the whole world understands that the aviation industry is not immune to major catastrophic events, Kenyon specializes in knowing and preparing for as many eventualities as possible. Regardless of the size of the plane and the number of injured and fatalities, there will always be major disruption of service and operation to the airline.
Likewise, airports are not immune from major catastrophic events. Since a majority of plane crashes occur on take-off and landings, there can be a tremendous impact on the airport itself. When an accident occurs at an airport, airport management faces the same challenges as do airlines; they need to care and support victims and persons coming to the airport for information along with gathering and sharing information to the regulatory authorities. Kenyon International has the experience and staff to assist the airport organizations, its employees and the public.