Terms

ARM Servers

ARM Servers

An ARM server, or advanced RISC machine server, is a computer server system comprised of a large array of ARM processors as opposed to the x86-class processors traditionally used in servers. ARM servers are touted for being able to provide similar or greater processing power than x86 server counterparts while consuming less energy and producing less heat.

As a result, ARM servers have become more and more popular in recent years and are now frequently deployed in enterprise data centers and cloud deployments. However, despite projections of massive growth for ARM servers, the road to mainstream adoption and gaining market share on Intel and its x86-based servers has not gone smoothly for ARM servers and ARM server processor manufacturers.

The Current State of the ARM Server Market

A number of ARM server chip manufacturers have attempted to push the ARM server industry forward, only to see their efforts come up short. Applied Micro Devices (AMD), Broadcom (with its Vulcan ARM server chips), Qualcomm (with its Amberwing processor designs), Calxeda, Cavium and others have put massive amounts of money into the ARM server market only to later cease operations or find themselves acquired by other companies.

In their place, companies like HP with its Moonshot server systems, AWS with its Graviton ARM server chip, and Huawei Technlogies, with its HiSilicon subsidiary, have been pushing the ARM server market forward.

Their efforts are helping ARM servers gain footholds in hyperscalecloud and enterprise data center computing environments, but Intel and its x86 servers still outpace ARM server deployments by a huge margin.

Terms

TCP – Transmission Control Protocol

TCP – Transmission Control Protocol

Abbreviation of Transmission Control Protocol, and pronounced as separate letters. TCP is one of the main protocols in TCP/IP networks. Whereas the IP protocol deals only with packets, TCP enables two hosts to establish a connection and exchange streams of data. TCP guarantees delivery of data and also guarantees that packets will be delivered in the same order in which they were sent.

 

Terms

C#

C#

C# is a hybrid of C and C++, it is a Microsoft programming language developed to compete with Sun’s Java language. C# is an object-oriented programming language used with XML-based Web services on the .NET platform and designed for improving productivity in the development of Web applications.

C# boasts type-safety, garbage collection, simplified type declarations, versioning and scalability support, and other features that make developing solutions faster and easier, especially for COM+ and Web services. Microsoft critics have pointed to the similarities between C# and Java.

Terms

Computational Thinking

Computational Thinking

Computational thinking (CT) is a study of the problem-solving skills and tactics involved in writing or debugging software programs and applications.

Computational thinking is closely related to computer science, although it focuses primarily on the big-picture process of abstract thinking used in developing computational programs rather than on the study of specific programming languages. As a result, it often serves as an introduction to more in-depth computer science courses.

The Six Principles of Computational Thinking

While approaches to the study of computational thinking vary, there are six primary principles of computational thinking, which include:

1.    Connecting Computing: Understanding the connection between computers and humans.

2.    Developing Computational Artifacts: Creating an algorithmic or computational model and the techniques needed to create artifacts that can be applied toward solving problems.

3.    Abstracting: Identifying and defining how information can be put to computational use, and modeling these abstractions in a computational context.

4.    Analyzing Problems and Artifacts: Evaluating the merit and feasibility of potential solutions to a problem as well as identifying and resolving possible errors with the solutions.

5.    Communicating: Effectively explaining the purpose and meaning of a problem and its potential computational solution(s).

6.    Working Effectively in Teams: Active collaboration and contributions from multiple participants on problem solving as well as the development and execution of computational solutions.

Origins of the Term Computational Thinking

Seymour Papert first used the term computational thinking in 1996 when his “An exploration in the space of mathematics educations” was published in the International Journal of Computers for Mathematical Learning.

The science of computational thinking is primarily taught on the collegiate level, although in recent years it has entered the K-12 primary school levels as part of STEM–focused education curriculums. Computational thinking classes were first introduced in 2005 at Carnegie Mellon University as a broad introduction to the field of computer science.

Terms

RAM – random access memory

RAM – random access memory

RAM (pronounced ramm) is an acronym for random access memory, a type of computer memory that can be accessed randomly; that is, any byte of memory can be accessed without touching the preceding bytes. RAM is found in servers, PCs, tablets, smartphones and other devices, such as printers.

Main Types of RAM

There are two main types of RAM:

  1. DRAM (Dynamic Random Access Memory)
  2. SRAM (Static Random Access Memory)

RAM Memory

DRAM (Dynamic Random Access Memory) – The term dynamic indicates that the memory must be constantly refreshed or it will lose its contents.  DRAM is typically used for the main memory in computing devices. If a PC or smartphone is advertised as having 4-GB RAM or 16-GB RAM, those numbers refer to the DRAM, or main memory, in the device.

More specifically, most of the DRAM used in modern systems is synchronous DRAM, or SDRAM. Manufacturers also sometimes use the acronym DDR (or DDR2, DDR3, DDR4, etc.) to describe the type of SDRAM used by a PC or server. DDR stands for double data rate, and it refers to how much data the memory can transfer in one clock cycle.

In general, the more RAM a device has, the faster it will perform.

SRAM (Static Random Access Memory) – While DRAM is typically used for main memory, today SRAM is more often used for system cache. SRAM is said to be static because it doesn’t need to be refreshed, unlike dynamic RAM, which needs to be refreshed thousands of times per second. As a result, SRAM is faster than DRAM. However, both types of RAM are volatile, meaning that they lose their contents when the power is turned off.

The Difference Between Memory, RAM and Storage

Sometimes, people get confused about the difference between memory and storage, in part because both can be measured in megabytes (MB), gigabytes (GB) and terabytes (TB).

In common usage, the term RAM is synonymous with main memory. This is where a computing system stores data that it is actively using. Storage systems, such as hard drives, network storage devices or cloud storage, are where a system saves data that it will need to access later.

Computing systems can retrieve data from RAM very quickly, but when a device powers down, all the data that was in memory goes away. Many people have had the experience of losing a document they were working on after an unexpected power outage or system crash. In these cases, the data was lost because it was stored in system memory, which is volatile.

By contrast, storage is slower, but it can retain data when the device is powered down. So, for example, if a document has been saved to a hard drive prior to a power outage or system crash, the user will still be able to retrieve it when the system is back up and running.

Storage is usually less expensive than RAM on a per-gigabyte basis. As a result, most PCs and smartphones have many times more gigabytes of storage than gigabytes of RAM.

Terms

SSD – solid state drive

SSD – solid state drive

Abbreviated SSD, a solid state drive is a high-performance plug-and-play storage device that contains no moving parts. SSD components include either DRAM or EEPROM memory boards, a memory bus board, a CPU, and a battery card.

Because they contain their own CPUs to manage data storage, they are a lot faster (18MBps for SCSI-II and 35 MBps for UltraWide SCSI interfaces) than conventional rotating hard disks ; therefore, they produce highest possible I/O rates.

SSDs are most effective for server applications and server systems, where I/O response time is crucial. Data stored on SSDs should include anything that creates bottlenecks, such as databasesswap files, library and index files, and authorization and login information.

While solid state drive (SSD) is the most common acronym, SSD is also used for solid state disk drive, even though it does not contain an actual disk.

Terms

operating system – OS

operating system – OS

The operating system (OS) is the most important program that runs on a computer. Every general-purpose computer must have an operating system to run other programs and applications. Computer operating systems perform basic tasks, such as recognizing input from the keyboard, sending output to the display screen, keeping track of files and directories on the storage drives, and controlling peripheral devices, such as printers.

For large systems, the operating system has even greater responsibilities and powers. It is like a traffic cop  it makes sure that different programs and users running at the same time do not interfere with each other. The operating system is also responsible for security, ensuring that unauthorized users do not access the system.

A Software Platform for Applications

Operating systems provide a software platform on top of which other programs, called application programs, can run. The application programs must be written to run on top of a particular operating system. Your choice of operating system, therefore, determines to a great extent the applications you can run. For PCs, the most popular operating systems are DOS, OS/2, and Windows, but others are available, such as Linux.

Operating System (OS) Diagram
              Image: Operating System Diagram

Classification of Operating systems

  • Multi-user: Allows two or more users to run programs at the same time. Some operating systems permit hundreds or even thousands of concurrent users.
  • Multiprocessing : Supports running a program on more than one CPU.
  • Multitasking : Allows more than one program to run concurrently.
  • Multithreading Allows different parts of a single program to run concurrently.
  • Real time: Responds to input instantly. General-purpose operating systems, such as DOS and UNIX, are not real-time.
  • User Interaction With the OS

    As a user, you normally interact with the operating system through a set of commands. For example, the DOS operating system contains commands such as COPY and RENAME for copying files and changing the names of files, respectively. The commands are accepted and executed by a part of the operating system called the command processor or command line interpreter. Graphical user interfaces allow you to enter commands by pointing and clicking at objects that appear on the screen.

    Operating System Recommended Reading: The History of Windows Operating Systems (Windows OS) from 1985 to present day.

    Most Popular Desktop Operating Systems

    The three most popular types of operating systems for personal and business computing include Linux, Windows and Mac.

    Windows

    Microsoft Windows is a family of operating systems for personal and business computers. Windows dominates the personal computer world, offering a graphical user interface (GUI), virtual memory management, multitasking, and support for many peripheral devices.

    Mac

    Mac OS is the official name of the Apple Macintosh operating system. Mac OS features a graphical user interface (GUI) that utilizes windows, icons, and all applications that run on a Macintosh computer have a similar user interface.

    Linux

    Linux is a freely distributed open source operating system that runs on a number of hardware platforms. The Linux kernel was developed mainly by Linus Torvalds and it is based on Unix.

    According to Netmarketshare.com, the most used desktop operating system and versions used on PCs in July 2017 are:

    • Windows 7 (48.91%)
    • Windows 10 (27.63%)
    • Windows 8.1 (6.48%)
    • Windows XP (6.10%)
    • Mac OS X 10.12 (3.52%)
    • Linux (2.53%)
    • Windows 8 (1.42%)
    • Mac OS X 10.11 (1.17%)
    • Macc OS X 10.10 (0.76%)

    Desktop Operating System Market Share

    Image Source: Desktop Operating System Market Share (Net Applications.com, July 2017)

    Mobile Operating Systems

    In the same way that a desktop OS controls your desktop or laptop computer, a mobile operating system is the software platform on top of which other programs can run on mobile devices, however, these systems are designed specifically to run on mobile devices such as mobile phones, smartphones, PDAs, tablet computers and other handhelds. The mobile OS is responsible for determining the functions and features available on your device, such as thumb wheel, keyboards, WAP, synchronization with applications, email, text messaging and more. The mobile OS will also determine which third-party applications (mobile apps) can be used on your device.

    Operating System Recommended Reading: Mobile Operating Systems (Mobile OS) Explained.

    Terms

    helium hard disk drive (HDD)

    helium hard disk drive (HDD)

    A helium drive is a high capacity hard disk drive (HDD) that is helium-filled. This hard drive technology replaces the air inside the HDD with helium and is hermetically sealed during manufacturing. Helium drive technology is compatible with most industry-standard magnetic recording technologies including perpendicular magnetic recording (PMR), two-dimensional magnetic recording (TDMR), shingled magnetic recording (SMR), microwave-assisted magnetic recording (MAMR), heat-assisted magnetic recording (HAMR) and bit-patterned media (BPM).

    Helium Hard Drive

    Image Description: Western Digital Ultrastar DC HC530 14-TB

    Helium Improves Efficiency

    Compared to air, helium is one-seventh the density. In traditional drives, the air inside typically creates an amount of drag on the platters, requiring more energy to spin. Replacing the air with helium reduces the amount of energy needed to spin the platters. By some estimates, helium HDDs may be up to 20 percent more efficient than air-filled drives. Additionally, helium drives offer higher sequential data transfer rates as a result of the overall increased areal density.

    Helium Storage in the Data Center

    Newer helium hard disk drives have provided an advantage in the data center, specifically, cloud and exascale data centers, where 14-TB plus capacity drives can maximize data storage capacity per rack while lowering power consumption to meet TCO objectives. Helium drives have lower cooling requirements which reduce overall energy costs.

    As helium-filled drive technology advances, so does the storage capacity of the drives. In fact, Western Digital has announced (Sep 2019) a 20-TB helium-filled drive, using nine platters, each with a capacity of about 2.22TB and a 2.5M hour mean time before failure (MTBF) rating and feature SATA or SAS interface.

    Helium Drives at Home

    Currently, helium-filled drives that focus on the consumer market are limited. Standard drives are 3.5″ drives that use perpendicular magnetic recording (PMR) platters in a helium-filled enclosure, in capacities starting at 10-TB. The drives are compatible with specific lines of desktops and entry-level direct-attached storage enclosures.

    Helium Drive History

    The first helium-filled hard drive (6-TB capacity) drive was made commercially available by HGST, a Western Digital subsidiary, in November, 2013. Today, several hard drive manufacturers, Including Western Digital, Seagate and Toshiba offer helium hard disk drives.