Patagonia's Restructuring Has Led to Employee Fallout
businessinsider.com4 pointsby MHordecki2 comments
in the case of an Intel CPU with either the Sandybridge or Ivybridge
chipset where the competitor chooses not to exploit the AVX feature; the
competitor must explicitly declare and be able to demonstrate that they are
not using the AVX feature in the CFD solve process. If the non‐usage of the
AVX feature is proven to the auditor, the Intel Sandybridge and Ivybridge
chipset cores can be rated as 4 FLOP/cycle/core rather than as 8
FLOP/cycle/core.
[1]: https://www.fia.com/sites/default/files/2019_sporting_regula... use futures::join;
let result = executor::block_on({
let { do_something_useful_one() };
let two = async { do_something_useful_two() };
let (one, two) = join!(one, two);
one + two
});
I feel like this might be a common stumbling block and hope there will be a Clippy check for this or something.
I think it’s more tractable to define this problem space starting from the concept of (strict) serializability, which is really a generalization of the concept of thread safety. Every software engineer has an intuitive understanding of it. Lack of serializability can lead to execution-dependent behavior, which usually results in hard-to-diagnose bugs. Thus, all systems should strive towards serializability, and the database can be a tool in achieving it.
Various non-serializable levels of database transaction isolation are relaxations of the serializability guarantee, where the database no longer enforces the guarantee and it’s up to the database user to ensure it through other means.
The isolation phenomena are a useful tool for visualizing various corner cases of non-serializability, but they are not inherently tied to it. It's possible to achieve serializability while observing all of the SQL phenomena. For example, a Kubernetes cluster with carefully-written controllers can be serializable.