Two-phase locking effect from the underground explosion may have launched a metal cover plate into space at six times Earth's escape velocity, although the evidence remains subject to debate. In 1942, there was some initial speculation among the scientists developing the first nuclear weapons in the Manhattan Project that a large enough nuclear explosion might ignite the Earth's atmosphere. This notion concerned the nuclear reaction of two atmospheric nitrogen atoms forming carbon and an oxygen atom, with an associated release of energy. The scientists hypothesized that this energy would heat up the remaining atmospheric nitrogen enough to keep the reaction 	Effects of nuclear explosions
5100022	going until all nitrogen atoms were consumed, thereby burning all of the Earth's atmosphere (which is composed of nearly 80% diatomic nitrogen) in one single massive combustion event. Hans Bethe was assigned the task of studying this hypothesis from the project's earliest days, and eventually concluded that combustion of the entire atmosphere was not possible: the cooling of the fireball due to an inverse Compton effect all but guaranteed that such a scenario would not become a reality. Richard Hamming, a mathematician, was asked to make a similar calculation just before the first nuclear test, with the same 	Effects of nuclear explosions
5100023	result. Nevertheless, the notion has persisted as a rumor for many years and was the source of apocalyptic gallows humor at the Trinity test. Survivability. This is highly dependent on factors such as if one is indoors or out, the size of the explosion, the proximity to the explosion, and to a lesser degree the direction of the wind carrying fallout. Death is highly likely and radiation poisoning is almost certain if one is caught in the open with no terrain or building masking effects within a radius of 0–3 km from a 1 megaton airburst, and the 50% chance 	Effects of nuclear explosions
5100024	of death from the blast extends out to ~8  km from the same 1 megaton atmospheric explosion. To highlight the variability in the real world, and the effect that being indoors can make, despite the lethal radiation and blast zone extending well past her position at Hiroshima, Akiko Takakura survived the effects of a 16 kt atomic bomb at a distance of 300 meters from the hypocenter, with only minor injuries, due mainly to her position in the lobby of the Bank of Japan, a reinforced concrete building, at the time. In contrast, the unknown person sitting outside, fully exposed	Effects of nuclear explosions
5100025	, on the steps of the Sumitomo Bank, next door to the Bank of Japan, received lethal third-degree burns and was then likely killed by the blast, in that order, within two seconds. With medical attention, radiation exposure is survivable to 200 rems of acute dose exposure. If a group of people is exposed to a 50 to 59 rems acute (within 24 hours) radiation dose, none will get radiation sickness. If the group is exposed to 60 to 180 rems, 50% will become sick with radiation poisoning. If medically treated, all of the 60–180 rems group will survive. If 	Effects of nuclear explosions
5100026	the group is exposed to 200 to 450 rems, most if not all of the group will become sick. 50% of the 200–450 rems group will die within two to four weeks, even with medical attention. If the group is exposed to 460 to 600 rems, 100% of the group will get radiation poisoning. 50% of the 460–600 rems group will die within one to three weeks. If the group is exposed to 600 to 1000 rems, 50% will die in one to three weeks. If the group is exposed to 1,000 to 5,000 rems, 100% of the group will 	Effects of nuclear explosions
5100027	die within 2 weeks. At 5,000 rems, 100% of the group will die within 2 days. Effects of nuclear explosions The effects of a nuclear explosion on its immediate vicinity are typically much more destructive and multifaceted than those caused by conventional explosives. In most cases, the energy released from a nuclear weapon detonated within the lower atmosphere can be approximately divided into four basic categories: Depending on the design of the weapon and the location in which it is detonated, the energy distributed to any one of these categories may be significantly higher or lower. The physical blast effect 	Effects of nuclear explosions
5100028	Two-phase locking Two-phase locking In databases and transaction processing, two-phase locking (2PL) is a concurrency control method that guarantees serializability. It is also the name of the resulting set of database transaction schedules (histories). The protocol uses locks, applied by a transaction to data, which may block (interpreted as signals to stop) other transactions from accessing the same data during the transaction's life. By the 2PL protocol, locks are applied and removed in two phases: Two types of locks are used by the basic protocol: Shared" and "Exclusive" locks. Refinements of the basic protocol may use more lock types . Using locks that block processes, 2PL may be subject to deadlocks that result from the mutual blocking of two or more transactions. Data-access locks. A lock is a system object associated with a shared resource such as a data item of an elementary type, a row in a database, or a page of memory. In a database, a lock on a database object (a data-access lock) may need to be acquired by a transaction before accessing the object. Correct use of locks prevents undesired, incorrect or inconsistent operations on shared resources by other concurrent transactions. When a database  object with an existing lock acquired by one transaction needs to be accessed by another transaction, the existing lock for the object and the type of the intended access are checked by the system. If the existing lock type does not allow this specific attempted concurrent access type, the transaction attempting access is blocked (according to a predefined agreement/scheme). In practice, a lock on an object does not directly block a transaction's operation upon the object, but rather blocks that transaction from acquiring another lock on the same object, needed to be held/owned by the transaction before  performing this operation. Thus, with a locking mechanism, needed operation blocking is controlled by a proper lock blocking scheme, which indicates which lock type blocks which lock type. Two major types of locks are used: The common interactions between these lock types are defined by blocking behavior as follows: Several variations and refinements of these major lock types exist, with respective variations of blocking behavior. If a first lock blocks another lock, the two locks are called "incompatible"; otherwise the locks are "compatible". Often, lock types blocking interactions are presented in the technical literature by a "Lock compatibility table". The  following is an example with the common, major lock types: Two-phase locking and its special cases. Two-phase locking. According to the two-phase locking protocol, a transaction handles its locks in two distinct, consecutive phases during the transaction's execution: The two phase locking rules can be summarized as: never acquire a lock after a lock has been released. The serializability property is guaranteed for a schedule with transactions that obey this rule. Typically, without explicit knowledge in a transaction on end of phase 1, it is safely determined only when a transaction has completed processing and requested  commit. In this case, all the locks can be released at once (phase 2). Conservative two-phase locking. The difference between 2PL and C2PL is that C2PL's transactions obtain all the locks they need before the transactions begin. This is to ensure that a transaction that already holds some locks will not block waiting for other locks. Conservative 2PL "prevents" deadlocks. Strict two-phase locking. To comply with the S2PL protocol, a transaction needs to comply with 2PL, and release its "write (exclusive)" locks only after it has ended, i.e., being either "committed" or "aborted". On the other hand , "read (shared)" locks are released regularly during phase 2. This protocol is not appropriate in B-trees because it causes Bottleneck (while B-trees always starts searching from the parent root). Strong strict two-phase locking. or Rigorousness, or Rigorous scheduling, or Rigorous two-phase locking To comply with strong strict two-phase locking (SS2PL) the locking protocol releases both "write (exclusive)" and "read (shared)" locks applied by a transaction only after the transaction has ended, i.e., only after both completing executing (being "ready") and becoming either "committed" or "aborted". This protocol also complies with the S2PL rules. A transaction  obeying SS2PL can be viewed as having phase 1 that lasts the transaction's entire execution duration, and no phase 2 (or a degenerate phase 2). Thus, only one phase is actually left, and "two-phase" in the name seems to be still used due to the historical development of the concept from 2PL, and 2PL being a super-class. The SS2PL property of a schedule is also called Rigorousness. It is also the name of the class of schedules having this property, and an SS2PL schedule is also called a "rigorous schedule". The term "Rigorousness" is free of the  unnecessary legacy of "two-phase," as well as being independent of any (locking) mechanism (in principle other blocking mechanisms can be used). The property's respective locking mechanism is sometimes referred to as Rigorous 2PL. SS2PL is a special case of S2PL, i.e., the SS2PL class of schedules is a proper subclass of S2PL (every SS2PL schedule is also an S2PL schedule, but S2PL schedules exist that are not SS2PL). SS2PL has been the concurrency control protocol of choice for most database systems and used since their early days in the 1970s. It is proven to be an effective mechanism  in many situations, and provides besides Serializability also Strictness (a special case of cascadeless Recoverability), which is instrumental for efficient database recovery, and also Commitment ordering (CO) for participating in distributed environments where a CO based distributed serializability and global serializability solutions are employed. Being a subset of CO, an efficient implementation of "distributed SS2PL" exists without a distributed lock manager (DLM), while distributed deadlocks (see below) are resolved automatically. The fact that SS2PL employed in multi database systems ensures global serializability has been known for years before the discovery of CO, but only with CO came the understanding of  the role of an atomic commitment protocol in maintaining global serializability, as well as the observation of automatic distributed deadlock resolution (see a detailed example of Distributed SS2PL). As a matter of fact, SS2PL inheriting properties of Recoverability and CO is more significant than being a subset of 2PL, which by itself in its general form, besides comprising a simple serializability mechanism (however serializability is also implied by CO), is not known to provide SS2PL with any other significant qualities. 2PL in its general form, as well as when combined with Strictness, i.e., Strict 2PL (S2PL), are not known to  be used in practice. The popular SS2PL does not require marking "end of phase 1" as 2PL and S2PL do, and thus is simpler to implement. Also, unlike the general 2PL, SS2PL provides, as mentioned above, the useful Strictness and Commitment ordering properties. Many variants of SS2PL exist that use various lock types with various semantics in different situations, including cases of lock-type change during a transaction. Notable are variants that use Multiple granularity locking. Comments: Summary - Relationships among classes. Between any two schedule classes (define by their schedules' respective properties) that have common schedules, either one "contains" the  other ("strictly contains" if they are not equal), or they are "incomparable". The containment relationships among the 2PL classes and other major schedule classes are summarized in the following diagram. 2PL and its subclasses are "inherently blocking", which means that no optimistic implementations for them exist (and whenever "Optimistic 2PL" is mentioned it refers to a different mechanism with a class that includes also schedules not in the 2PL class). Deadlocks in 2PL. Locks block data-access operations. Mutual blocking between transactions results in a "deadlock", where execution of these transactions is stalled, and no completion can be reached. Thus  deadlocks need to be resolved to complete these transactions' executions and release related computing resources. A deadlock is a reflection of a potential cycle in the "precedence graph", that would occur without the blocking. A deadlock is resolved by aborting a transaction involved with such potential cycle, and breaking the cycle. It is often detected using a "wait-for graph" (a graph of conflicts blocked by locks from being materialized; conflicts not materialized in the database due to blocked operations are not reflected in the precedence graph and do not affect "serializability"), which indicates which transaction is "waiting for" lock  release by which transaction, and a cycle means a deadlock. Aborting one transaction per cycle is sufficient to break the cycle. If a transaction has been aborted due to deadlock resolution, it is up to the application to decide what to do next. Usually, an application will restart the transaction from the beginning but may delay this action to give other transactions sufficient time to finish in order to avoid causing another deadlock. In a distributed environment an atomic commitment protocol, typically the Two-phase commit (2PC) protocol, is used for atomicity. When recoverable data (data under transaction control) partitioned  among 2PC participants (i.e., each data object is controlled by a single 2PC participant), then distributed (global) deadlocks, deadlocks involving two or more participants in 2PC, are resolved automatically as follows: When SS2PL is effectively used in a distributed environment, then global deadlocks due to locking generate voting-deadlocks in 2PC, and are resolved automatically by 2PC (see Commitment ordering (CO), in Exact characterization of voting-deadlocks by global cycles; No reference except the CO articles is known to notice this). For the general case of 2PL, global deadlocks are similarly resolved automatically by the synchronization point protocol of phase-1  end in a distributed transaction (synchronization point is achieved by "voting" (notifying local phase-1 end), and being propagated to the participants in a distributed transaction the same way as a decision point in atomic commitment; in analogy to decision point in CO, a conflicting operation in 2PL cannot happen before phase-1 end synchronization point, with the same resulting voting-deadlock in the case of a global data-access deadlock; the voting-deadlock (which is also a locking based global deadlock) is automatically resolved by the protocol aborting some transaction involved, with a missing vote, typically using a timeout). Comment