-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Edits2 (Rmd files 3-4) #84
base: main
Are you sure you want to change the base?
Conversation
No spelling errors! 🎉 |
@@ -102,12 +102,12 @@ Examples of commonly used operating systems on computers and phones are: | |||
* Linux | |||
* Android | |||
|
|||
Recall that we previously talked about how computers today are often called 64-bit? Operating systems are also designed in this way. A 64-bit operating system expects the hardware of the computer to allow for processing at least 64 bits of data at a time (the word size) [@Wikipedia_word_length_2021]. If we have registers of at least this length in the CPU, than we can in fact perform operations on data that may be up to 64 bits in length. This also means that we can perform operations on values that take up less than 64 bits. This can be important because if you try to use an operating system that expects a longer word size than the hardware can accommodate, for example a 64-bit operating system on a 32-bit computer, this will not work. Application programs are also designed according to different word sizes and again you need to choose options that are equal to or less than the word size that your CPU can accommodate [@ComputerHope_64-bit]. | |||
Recall that we previously talked about how computers today are often called 64-bit? Operating systems are also designed in this way. A 64-bit operating system expects the hardware of the computer to allow for processing at least 64 bits of data at a time (the word size) [@Wikipedia_word_length_2021]. If we have registers of at least this length in the CPU, then we can in fact perform operations on data that may be up to 64 bits in length. The data do not __have__ to be the full 64 bits; it just means that we can perform operations on values that take up less than 64 bits. This can be important because if you try to use an operating system that expects a longer data size than the hardware can accommodate, for example a 64-bit operating system on a 32-bit computer, this will not work. Application programs are also designed according to different data sizes and again you need to choose options that are equal to or less than the data size that your CPU can accommodate [@ComputerHope_64-bit]. However, you can run a 32-bit operating system on a 64-bit computer, and a 32-bit application on a 64-bit operating system. | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AVOCADO: I substituted “data sizes” for “word sizes” referring to 64- and 32-bits, is this appropriate? Also, is the last sentence correct? This was my understanding from the paragraph, and I thought it would be nice to give an illustrative sentence here. (Last sentence of line 105)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe that word size is more appropriate. However maybe we need to emphasize the definition of word size earlier in the paragraph more. Yes, the last sentence is correct, and probably good to include. I wonder if we should point out however that there may be reduced efficiency if a 32-bit application is used when a 64- bit application exists. - could point to this article about this:
@@ -278,24 +277,24 @@ See [here](https://cs.wmich.edu/~elise/courses/cs626/s09/hussein/Parallel_and_Cl | |||
|
|||
In a [computing grid](https://hazelcast.com/glossary/grid-computing/) are often **different** types of computers in **different** locations work towards an overall common goal by performing **different** tasks [@grid]. | |||
|
|||
Again, just like computer clusters, there are many types of architectures that can be rather simple to very complex. For example you can think of different universities collaborating to perform different computations for the same project. One university might perform computations using gene expression data about a particular population, while another performs computations using data from another population. Importantly each of these universities might use clusters to perform their specific task. | |||
Again, just like computer clusters, there are many types of architectures that can be rather simple to very complex. For example you can think of different universities collaborating to perform different computations for the same project. One university might perform computations using gene expression data about a particular population, while another performs computations using data from another population. Within one location, each of these universities might use clusters to perform their specific task. | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AVOCADO: I am not sure if I understood this right: so this analogy means that within the Grid, there may be multiple locations that use Clusters (because clusters are typically local and grids typically involve multiple locations?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
*I am creating a simple sketch that might illustrate this concept. I will send it to you for review when I make it!
Re-rendered previews from the latest commit:
Updated at 2022-04-17 with changes from 2e319c4 |
|
||
```{r, fig.align='center', echo = FALSE, fig.alt= "A computer chip that has hyper-threading can perform more tasks by single cores more efficiently. Thus a 4 core chip with hyper-threading can work on 8 tasks simultaneously.", out.width= "100%"} | ||
ottrpal::include_slide("https://docs.google.com/presentation/d/1B4LwuvgA6aUopOHEAbES1Agjy7Ex2IpVAoUIoBFbsq0/edit#slide=id.gfb2e21ecdc_0_75") | ||
``` | ||
|
||
### **Memory or RAM** - short-term memory | ||
|
||
OK, so we have already talked about how data can be stored in the registers within the CPU. This data or memory is used directly by the CPU during operations or tasks. However, our CPUs need additional quick access to instructional data to tell the CPU what to do to perform the operations and what data to use. This is also the data in a file that we are working with at a particular moment in time [@RAM_ComputerHope]. This bring us to [RAM](https://www.computerhope.com/jargon/r/ram.htm), which stands for **Random Access Memory**. It is often simply referred to as **memory**. Ram is similarly made out of transistors and capacitors like the registers within the CPU, but it is located nearby but outside of the CPU [@RAM_ComputerHope; @RAM_HowStuff_Works]. This type of memory is that it is temporary. Data is stored in RAM for only a short time, while your computer is running a task on it, but then it disappears. Due to the fact that what is stored disappears, this type of memory is also called volatile. This is why when you are working on a file, but forget to save it, you might lose your work [@RAM_ComputerHope; @RAM_HowStuff_Works]. | ||
We have already talked about how data can be stored in the registers within the CPU. This data or memory is used directly by the CPU during operations or tasks. However, our CPUs need additional quick access to instructional data to tell the CPU what to do to perform the operations and what data to use. This is also the data in a file that we are working with at a particular moment in time [@RAM_ComputerHope]. This brings us to [RAM](https://www.computerhope.com/jargon/r/ram.htm), which stands for **Random Access Memory**. It is often simply referred to as **memory**. RAM is similarly made out of transistors and capacitors, similar to the registers within the CPU, but it is located outside of, but very near, the CPU [@RAM_ComputerHope; @RAM_HowStuff_Works]. One characteristic of this type of memory is that it is temporary. Data is stored in RAM for only a short time while your computer is running a task on it, then it disappears afterwards. Due to the fact that the stored memory disappears afterwards, this type of memory is also called volatile. This is why when you forget to save a file you are working on, you might lose your work [@RAM_ComputerHope; @RAM_HowStuff_Works]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like there is a sentence that says "Ram is similarly made out of transistors and capacitors, similar to the registers within the CPU" Maybe we can use a drop the "similarly" since we have "similar" later? Otherwise it looks much improved :)
Overall looks great! |
Purpose/implementation Section
What changes are being implemented in this Pull Request?
Changed Rmd file 3-4
What was your approach? /
What GitHub issue does your pull request address?
Grammar errors, sentence structures and wording changes
I have not put comments (no AVOCADOs) in the file. I will try to incorporate the few comments that I have in the pull request itself.
I am contemplating creating a drawing for cluster/grid computing (haven't added yet)
Tell potential reviewers what kind of feedback you are soliciting.
Anything!
New Content Checklist
New content/chapter is in an Rmd file with this kind of format and headers.
New content/chapter contains Learning Objectives and are in the correct format.
Bookdown successfully re-renders and any new content files have been added to the _bookdown.yml.
Spell check runs successfully (either using Github actions style-n-check or running manually).
Any newly necessary packages that are needed have been added to the Dockerfile and image.
Images are in the correct format for rendering.
Every new image has alt text and is in a Google Slide.
Each slide is described in the notes of the slide so learners relying on a screen reader can access the content. See https://lastcallmedia.com/blog/accessible-comics for more guidance on this.
The color palette choices of the slide are contrasted in a way that is friendly to those with color vision deficiencies.
You can check this using Color Oracle.