Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.79 KB | None | 0 0
  1. Turing award winner: James(Jim) Nicholas Gray
  2.  
  3. General information
  4.  
  5. Name: James Nicholas Gray
  6. Date of birth: 12 January 1944
  7. Location of birth: San Francisco
  8.  
  9.  
  10. About James
  11.  
  12. His studies
  13.  
  14. In general, what interests me most about famous people is how they came to be who they are. This is why I'd rather have a closer look at his personal life than at his academic achievements. Because it would be inappropriate to not even mention his academic career, I will summarize it here: He graduated from Westmoor High School in 1961, after which he started a bachelor degree in physics. He didn't stick to the subject, graduating in mathematics and engineering in 1966. After spending a year at Bell Laboratories in Murray Hill he returned to Berkeley to join the newly formed computer science department. In 1969 he finished his academic studies with a Ph.D. in context-free grammars and formal language theory.
  15. His business career consisted of research with IBM. The subject of his research for which he received his Turing award was part of System R. This was a database system built as a research project with IBM. It was also the first implementation of the now standard relational data query language, SQL.
  16. (source: (1) The main article on James Nicholas Gray of the official Turing award page.)
  17.  
  18. His character
  19.  
  20. According to Michael Harrison, his advisor, he has always been a very lively, warm and social person who would help out fellow students if possible. At a certain point during his post graduate years, Michael returned from his sabbatical and needed a place to stay. Jim gave him one at the small apartment he shared with his wife. Another example of Jim's friendly character would be him bringing things to Czechoslovakia where a fellow student lived. He was very close to this student, who couldn't get those things if it weren't for Jim.
  21. (source: (2) An article titled "Jim Gray at Berkeley" with it's link on the main page to James Nicholas Gray of the official Turing award page. The article was written by Michael Harrison, Jim's advisor at Berkeley.)
  22.  
  23. His disappearance
  24.  
  25. Sunday, January 28, 2007. Jim Gray disappears during a short solo sailing trip to the Farallon islands near San Fransisco. The one to report him missing was his wife, Donna Carnes. Afterward, they searched with planes, helicopters and boats for four days straight. They didn't find him or any significant leads.
  26. The equipped beacon that should have sent signals in case his boat sunk wasn't heard from either.
  27. On February 1, 2007, the DigitalGlobe satellite did a scan of the area and the pictures were posted online so as to distribute the work of looking through them, through cloud computing. Even this did not deliver any results.
  28. There are several possible explanations for this absolute disappearance. Some say Jim made an attempt of sailing away on the ocean. Some say it could have been a result of an attack by a killer whale. To me, the most likely option is that he sailed away or ended his life. The reason for this is that he was spreading his mother's ashes on his sailing trip, by the death of whom he was very saddened.
  29. (source: (3) The wikipedia page on Jim Gray and it's sources.)
  30.  
  31. James' main contributions to the field
  32.  
  33. His main contribution revolved around, and followed from his work on System R. This research at IBM set a standard for databases that is still used to this day and most likely won't change for a long time in small databases. Together with research and implementation, he set out to genuinly help customers in choosing the right hardware for their system by designing user-oriented performance benchmarks.
  34. From single systems, he moved on to working with databases in large networks. An example of this would be the gathering of scientific data. For this project he worked together with his colleagues at Microsoft and several universities to collect that data and allow acces, search and computation on the large amount of information. In 1992 he published a 1000-page book titled "Transaction Processing: Concepts and Techniques" together with Andreas Reuter. This way he presented guidelines for transaction processing to the large public. The book contained a view of an overall architecture and many details of implementing transaction processing systems. Finally, one very important contribution in my opinion is that he never quit teaching others. He gave most of his lectures at Stanford university, though didnot refrain from visiting other universities all over the world to give guest lecures.
  35.  
  36. James' Turing award
  37.  
  38. Small introduction
  39.  
  40. James' description of transaction processing is the main reason why he won his Turing award. The context in which he created the concept was crash recovery and concurrency problems in System R (which do occur in every such system), the first implementation of a database using SQL.
  41. "Jim's ideas on transaction processing were very simple in retrospect, but revolutionary at the time." - Michael Stonebreaker.
  42. (source: (4) article "Why did Jim Gray win the Turing award?" written by Michael Stonebreaker, which has a link to it on the main page of Jim Gray of the Turing award website.)
  43.  
  44. Description of the problem that lead to transaction processing
  45.  
  46. For the understanding of this problem, a good definition of the concept "database" is very useful. I immediately found a great one on the Dutch wikipedia page: "A database is a digitally saved record, intended for flexible consultancy and use." From the point of view of flexible use, follows the first part of the problem: making sure that several people altering the same piece of data at the same time don't cause any inconsistencies in the database. This problem is called concurrency.
  47. The second part of the problem follows from the fact that these databases run on computers, which never tend to just keep working. If one of the pieces in the system fails, preventing information from adding up altogether (for example, cash is transferred from one bank account to another, but the other account doesn't receive it) there has to be a way to correct this. The actual solution results in a system that, in a way, never has to be corrected.
  48.  
  49. The solution: transaction processing
  50.  
  51. Transaction: this consists of one or more statements in SQL combined with a few lines in a general purpose programming language. An obvious example would be an actual transaction between bank accounts. The following properties apply:
  52. - Atomicity: either the transaction happens or it doesn't happen. There can't be any half completed operations. With a bank account this means that account B can't receive cash if account A doesn't give it, because e.g. part of the system crashes.
  53. - Consistency: the database is free to define a set of rules to its entries. in the case of a bank account the stored balance can't be negative. This means that if a transaction violates one of these rules, it has to be aborted (restore the database to it's previous state), so as to prevent inconsistencies.
  54. - Isolation: parallel transactions don't know the intermediate states of other transactions. This means the outcome of all those transactions must be the same as all of them run in some serial order, one after the other. This is strongly related to the atomicity property, because you can't change a part of the database that is already in use by another transaction. This would cause inconsistencies. For example, if two bank customers would both try to subtract 50 euros from an account that contains only 80 euros. If this happens at the same time but with different acces points of the bank, they can't both succeed thinking there will still be 30 euros left on the account. Isolation makes sure these happen in a sequence, so that the second transaction fails through the property of consistency because there is only 30 euros left on the account.
  55. - Durability: in the event of a system failure, there can be only two outcomes: either a transaction succeeds and the database is altered without inconsistencies, or it doesn't and nothing changes at all.
  56. (source: (4))
  57.  
  58. Achiement of these properties
  59.  
  60. In order to achieve these properties, every time a transaction starts, a copy of the data on which the transaction operates is made. Following that, two things can happen:
  61. * The transaction starts altering the copy, which later on replaces the copied database entry if the transaction succeeds. This replacement is called a rollforward.
  62. * The transaction starts altering the database entry itself, which is later on replaced by the copy if the transaction fails. This replacement is called a rollback.
  63. The completion of a transaction by changing the actual database permanently is called a commit.
  64. In case there is no implementation of either of the preceding methods, a method called compensation transaction is used. As the name implies, in case a transaction goes wrong a compensating one follows to restore the database to the state before the failed transaction.
  65. (source: (5) the wikipedia page on transaction processing)
  66.  
  67. The practical application of James' work on transaction processing
  68.  
  69. Following the example used earlier of banks, this is of course one practical use of the method. However, anyone can see that any database would benefit from the resulting properties. To give another example, we'll have a look at the database of a hospital.
  70. The following properties would clearly have a pracital use:
  71. - Atomicity: in one part of the hospital a patient file gets an update that he received a medicine. Imagine that in another part of the hospital this update isn't received. The cause of this could be a temporary disconnect between departments due to maintenance. Though the system still confirms the change has been made in the database because there is nothing preventing the change in that part of the system even though a full update fails. Then if the patient has to be relocated to another department, he could receive the medicine twice, with possible deadly effects.
  72. - Consistency: the set of rules that can be applied to a database using transaction processing would be very useful for most medicines, e.g. to limit their dose to a maximum. For most medicines, taking too much can have nasty effects.
  73. - Isolation: you could end up with parallel transactions if a doctor in the hospital and a general practitioner alter the same data entry. In this case inconsistencies are again undesirable.
  74. - Durability: you don't want it to happen that someone's allergies are unknown because of a database failure during the treatment of a traffic accident victim. Not knowing which medicines a person is allergic to can mean the difference between life and death. In these instances there has to be an absolutely reliable system.
  75. -
  76. In general, transaction processing occurs in any database whose contents need to be absolutely reliable. Because most of today's information is stored digitally, it's used literally everywhere.
  77. (source: logical deduction by myself, applied to today's society)
  78.  
  79. The reason why I chose Jim Gray to write this essay about
  80.  
  81. I searched for a turing award winner by subject. I wanted to look into something I hadn't read about before, but wasn't so complicated that I couldn't fully understand it. In general I want to fully comprehend what exactly I'm doing.
  82. So I stumbled upon Jim Gray. Transaction processing seemed like one of those key elements important for today's society that relies on (correct) information. I very much like ideas like these that are beautiful in their simplicity.
  83. As I always do when learing about famous people, I first tried to understand the person behind the ideas. With Jim I was very pleasantly surprised about his character. He seems to be a genuinly nice guy who doesn't think himself to be above his colleagues and is always willing to help out. He also enjoys sailing very much which happens to be one of my favorite hobbies, even though sadly I haven't had much time for it the past years. Connected to sailing is what to me made him the best of the Turing award winners to write about. His disappearance. I would have been disappointed if they had been able to find him, but they didn't which makes it that much more mysterious.
  84. Overall I imagine him to be a pleasant team leader because people are generally very much attracted to a genuinly nice person.
  85.  
  86. Transaction processing related to the work of Leslie Lamport
  87.  
  88. Of all the Turing award winners that were presented during the lectures, the work on distributed systems from Leslie Lamport is the most closely related. Lamport constructed a system where logical time was very important, so that changes to a database from different locations would be made in the right order. This can be compared to the property of Isolation, where transactions have to be executed to make changes to a database in a sequential order, so they don't collide and cause inconsistencies.
  89. The work from both Gray and Lamport defined ways to make important properties for reliable databases a reality.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement