Thursday, November 24, 2011

The future of computing is parallelism

predicting the future is always a tricky thing to do and many this is especially the case when you try to predict the future of computing as this is a field in which a lot of people do have an opinion. However, looking at where we currently stand and what the limits of physics are (as currently known) we can do some modest predictions.

As a statement: "the future of computing is parallelism".

If we look at the current speed of processors (per core) we see that the speed (frequency) is leveling out. Reason for this is that if you increase the frequency you will more leakage in your transistors which are on your chip. leakage is recorded to the outside world as heat. So if we where able to run the chips on a higher frequency we will see that the heat will increase up till a level which cannot be cooled in a "normal" way and against normal prices.

What chip manufacturers are doing to cope with this is issue is to build multi-core processors. Having multiple cores running on a acceptable frequency which is providing enough computational power to the system while keeping the heat within an acceptable range is the way forward. We can already see good examples of this in the AMD liano and the nvidia fermi (image below) many-core processors.

The new breed of processors will be many-core processors holding large number of cores. This will require new ways of developing software and programs. With many-core processors you will have the option (and the need) to run your programs over multiple cores to make full use of your hardware. To be able to do so one will have to consider parallelism when developing code. Developing parallel processes is another way of thinking which is currently not adopted by the majority of the developers simply because they can do without. However, as we are getting more and more data (bigdata), processes and computations are getting more complex and users are not willing to wait very long developers will have to think about parallel programming very soon.

You have some languages which are specially designd to cope with many-core processors, one example is CUDA which is developed by nvidia. You do however not need a special language, python is very well able to cope with it and java is also able to just like C for example. Issue is that developers have to start thinking about it and need to get familiar with it (in my opinion).

So what is the future of computing, parallel computing and many-core processes. Thom Dunning is explaining it in more detail in his "future of high performance computing" lecture for the National Center for Supercomputing Applications which you can watch below:

Saturday, November 19, 2011

99 cent fraud prevention

In an attempt to stop identity fraud AT&T no longer gives you the new iPhone for free when you purchase a 2 year contract with them. According to a AT&T employee this is to prevent criminals who use stolen identities to purchase phones for free. His Story was published on macrumors.

The 99 cent needs to be charged against your credit card which is an extra hurdle for criminals to take before they can use a stolen identity to purchase the phone.

Identity theft is not only used in the illegal purchasing of phones, it is seen as one of the fastest growing forms of criminality. The Wikipedia description of identity fraud is the following:

Identity theft is a form of stealing another person's identity in which someone pretends to be someone else by assuming that person's identity, typically in order to access resources or obtain credit and other benefits in that person's name. The victim of identity theft (here meaning the person whose identity has been assumed by the identity thief) can suffer adverse consequences if he or she is held accountable for the perpetrator's actions. Organizations and individuals who are duped or defrauded by the identity thief can also suffer adverse consequences and losses, and to that extent are also victims.

Friday, November 11, 2011

Capgemini Oracle Run Cloud Platform

Capgemini is recently offering a Oracle Run and Host Cloud hosting solution. A complete in house developed and hosted cloud computing platform specifically for Oracle Products. For all people who are wondering what I have been up to the past couple of months, I have been busy growing an idea from only a scribble on a notepad on a rainy Sunday to a full working cloud computing platform.

Capgemini is now able to provide full Cloud Hosting and Cloud computing solutions specifically for Oracle Products however also to all Linux based applications. The service is operated from our core Oracle Run and Host team in the Netherlands and is running in Capgemini owned datacenters.

You will see this popping up in more and more Capgemini Oracle related offerings in the upcoming times as we believe this is a great added value to our customers. You can find the official brochure of Oracle run below.

Oracle Run and Host cloudcomputing

As we are working close with the Capgemini Oracle Application Lifecycle Services team and our Capgemini cloud computing platform is the technological foundation of this they have included our solution in their youtube movie.

Oracle Weblogic installation guide for linux

Please find a quick and dirty guide on how to install a Oracle Weblogic 11G release 1 server (version 10.3.5) on a Oracle Linux 6 distribution.

Even though this is just a quick and dirty installation the first thing we will do however is make sure that we have some users and groups created to prevent the Weblogic server from running under the root user. For this we will be using the operating system user oracle and the operating system group oinstall.

For creating the correct user and groups and bind them together you can make use of the standard Linux commands to do so.

groupadd oinstall
groupadd dba
useradd oracle -g oinstall -G dba
passwd oracle

The above commands will create the groups, create the user and will enable you to define a password for the user. How you can create a directory /u01 and change the owner to the user oracle and the group to oinstall. This will enable you to install the software as the user oracle under /u01. Running the Weblogic server not as root is a best practice you should follow, running processes as the root user, especially when they connect to the outside world, is a security risk in itself.

Lets assume you have download the installation file from the oracle website to the /u01 directory you can start the installation from the command line. When you have configured X you should be presented with a graphical installer which will guide you during the installer. For systems not having X configured a command line installer will do the same.

The graphical installer will present you the following steps:

The welcome screen, nothing much to do at this screen. It is only telling you what you are about to install which can be handy if you are not sure which version you have downloaded. In our case it is stating which looks to be ok.

This screen provides you the option to select if you want to create a new middleware home or use a existing one. As this is a fresh installation of Weblogic on a fresh installation of Oracle Linux we will select the option to create a new middleware home. What you like to check is the middleware home directory. You like to make sure this is not the Oracle home directory, you would like to use the /u01 location.

“New” oracle products provide you the option to connect them to Oracle metalink (My Oracle Support). For this you have to enter your metalink account information. By doing so you register your installation and you can be advised on patches and updates for your installation. Doing so is a choice and before making this decision you should consider if this is a wanted behavior. When making this decision do keep security in the back of your mind.

A common question during a installation, do you want to do a typical installation or a custom installation. As we like to control most of the install we will pick the customer installation in this example.

Choose Products and components allows you to select which components you like to install. This can be quite useful if you like to do a lean installation with only the minimal needed set of components.

You will need a JDK, this screen will enable you to select if you want to install the SUN JDK and oracle JRockit. We will install both in this installation

Based upon the Oracle Middleware Home Directory a Weblogic, Oracle Coherence and Eclipse pack location will be created. You can select other locations if you do have a need for this however it is common practice to keep this as suggested by Oracle.

The installation summary will show you what you have selected and give you the option to go back if you spot a mistake.

This all will result in the installer performing the installation for you. This gives you a great moment to get some coffee. (depending on the speed of your system a quick coffee possibly)

A completed installation will result in this screen where you can select your next step. If you select the “start Weblogic Server 10.3.5 Samples Domain” you will notice that the Weblogic server will start in the background and that your browser will open.

Below you can see a small screenshot of the weblogic page you have just started.