Skip to main content

Many-Core Shift & the Next Era of Computing


I have been observing the developments in Processor Technologies, and now I am really excited with the Future of Computing with the shift from single core to many core processor technologies.


As you all know, Moore’s Law tells us that, the number of transistors on an integrated circuits (IC) doubles every two years. Now the so-called “many core shift” is happening. It’s not a thing of the future, it is here already and it will change our developers’ life as we know it today.

What’s the many core shift?

This evolution of doubling the number of transistors on an IC has reached its physical limits (clock speed, power consumption, etc.). Instead of building faster and more complex CPUs, the manufacturers started placing more CPUs, read cores, on a chip.

It all started 2006 with Intel’s dual cores, today you won’t find a single core desktop machine anymore.

High end consumer machines come with quad cores, and servers with 16 cores (packed as 4 quad cores). Starting 2006 with 2 cores, five to six years from now we will have between 32 and 128 cores machines.

What does it mean?

Well, it probably means that today’s software runs a bit faster. Not much, certainly not the 32 times faster a 64 core machine is supposed to be compared to dual core. Have a look at the following task manager of a 16 core machine:

Now look at your own desktop and count the open applications. Outlook, Word, PowerPoint, Internet Explorer, Acrobat Reader, Firefox, Visual Studio etc. All the applications utilize 1 to two cores and Most of today’s applications simply are not capable of utilizing these cores appropriately. Consequence: In order to utilize these cores we have to change the way we write our software!

You may ask, do we actually need that kind of processing power? And if so, how do we use it?

For the first question the answer is yes, it is needed for Games, Video Conversion, File Compression, Graphics etc.

And for second question we need to know that there is a concept called Multithreading.

And “Most developers have avoided multithreading altogether. And those who did do work on multithreading probably did it just for optimizations.” So, now is the time we need to have multithreading in the mainstream of application development.

And with that in mind Microsoft is developing Visual Studio 2010. And I believe it will open up new possibilities.

I am really excited to work on Visual Studio 2010 and want to utilize the multi-core.

Let me know what you think about all this.

Reference:

  1. http://www.intel.com/products/processor/index.htm
  2. http://www.digital-daily.com/cpu/new_core_conroe/index1.htm
  3. http://www.intel.com/products/desktop/processors/index.htm?iid=processors_body+dt_core

Comments

Popular posts from this blog

How to Install Hadoop (2.7.3) on Ubuntu (16.04 LTS)

As I am planning to learn Hadoop, I wanted to install Hadoop (2.7.3) on my Ubuntu (16.04 LTS) and I followed the steps mentioned in the documentation on the Apache Hadoop website. I encountered few problems which are mentioned below, spent some time finding solution to them.

Below are the steps I followed and the description of the error is at the end of this post and also I have mentioned what I missed and what caused these errors.


Step 1. Download Hadoop installation file. For Hadoop 2.7.3 version I used the following link 

http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.3/hadoop-2.7.3-src.tar.gzStep 2. (Assuming you have downloaded the file into /home/<username>/Downloads folder

$ tar zxf hadoop-2.7.3-src.tar.gz
This will extract the files into a folder  "hadoop-2.7.3" .

Step 3. I moved the file to /home/<username> folder (many suggest to move it into /usr/local but I prefer to keep it here, may be once I learn more about linux I might get into tha…

Javascript KeyCode Reference table for Event Handling

The post explains Keyboard event handling using javascript.Javascript events are used to capture user keystrokes. Below is a table of key codes for the keys on a multimedia keyboard. If this table is inconsistent with your own findings, please let me know.

Java Script Code to Find Key code

<script language="JavaScript">
document.onkeydown = checkKeycode
function checkKeycode(e) {
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
alert("keycode: " + keycode);
}
</script>


Key Code Reference Table
Key PressedJavascript Key Codebackspace8tab9enter13shift16ctrl17alt18pause/break19caps lock20escape27page up33page down34end35home36left arrow37up arrow38right arrow39down arrow40insert45delete46048149250351452553654755856957a65b66c67d68

Replacing OpenJDK with Oracle JDK in Ubuntu

You can completely remove the OpenJDK and fresh Install Oracle Java JDK by the following steps:
Remove OpenJDK completely by this command:
sudo apt-get purge openjdk-\*Download the Oracle Java JDKhere.
Note: download appropriate file, for example if your system is x64 Ubuntu (i.e, Debian) the download file is named like this: jdk-8u51-linux-x64.tar.gz
To find which version is your OS, check hereCreate a folder named java in /usr/local/by this command:
sudo mkdir -p /usr/local/javaCopy the Downloaded file in the directory /usr/local/java. To do this, cd into directory where downloaded file is located and use this command for copying that file to /usr/local/java/:
sudo cp -r jdk-8u51-linux-x64.tar.gz /usr/local/java/CD into /usr/local/java/ directory and extract that copied file by using this command:
sudo tar xvzf jdk-8u51-linux-x64.tar.gzAfter extraction you must see a folder named jdk1.8.0_51.Update PATH file by opening /etc/profile file by the command sudo nano /etc/profile and past…