Tuesday, July 21, 2009

HP Instant Capacity Software

HP's Instant CAPacity (iCAP) software product provides the ability to instantly increase or decrease computing capacity on cell-based HP enterprise servers.
Its like a dream. You are purchasing cell based server box with 32 CPU cores, with a price of 16 CPU cores!!!. Yes, your business is growing fast, but not sure how much CPU capacity is actually required to finish your computational tasks near future. In a mission critical business, nobody can compromise the performance the computer server. But you are not sure, how much we will be required tomorrow. Now you wanted 16 cores and your business grows fast and within months you may need 24 cores. Its not so easy to upgrade your server box with additional 8 more CPU cores. And it may not be possible to buy another server box to fulfill the increased requirement.
The solution will be HP iCAP. You buy 32 cores with the cost of 16 CPU cores. Whenever you wanted to increase the number of cores, just to buy the iCAP license from hp and apply the license on your server. See, now your server box is equipped with 24 CPU cores!!!. That's the wonder story with hp iCAP.

The HP product number for Instant Capacity software is B9073BA. Instant Capacity is a part of the HP Utility Pricing Solutions (UPS) program and was formerly known as iCOD.

With Instant Capacity, you initially purchase a specified number of active system components (cores, cell boards, and memory) and a specified number of inactive (iCAP) components without usage rights. Prior to activation of an inactive component, additional usage rights must be obtained by purchasing a component-specific Right to Use (RTU) codeword from HP. When the codeword is applied to the system, the component usage rights are increased on the system, and an inactive component can be instantly activated. For example, inactive cores can be activated to increase the active processing capacity on the system. The action can be taken without waiting for new hardware to arrive because the Instant Capacity cores are already plugged into the system.

Instant Capacity is available for the following HP enterprise servers:

  • HP Integrity servers running HP-UX 11i v2 (11.23), or HP-UX 11i v3 (11.31) or OpenVMS 8.31H1 or 8.4(not yet released):
    • Superdome
    • rx8640
    • rx8620
    • rx7640
    • rx7620
  • HP 9000 servers running HP-UX 11i v1 (11.11), HP-UX 11i v2 (11.23), or HP-UX 11i v3 (11.31):
    • Superdome
    • rp8440
    • rp8420
    • rp8400
    • rp7440
    • rp7420
    • rp7410

The Instant Capacity software is free of charge and is required to be running on all HP-UX or OpenVMS partitions. It has a very small footprint and adds negligible overhead to the system.
iCAP CPUs are unlicensed CPUs. The unlicensed CPUs may be shown as available CPUs in the vparstatus -A output. To use iCAP CPUs, you must first purchase them; then, you can activate and assign them to a virtual partition.



With Instant Capacity, you initially purchase an HP enterprise server with a specified amount of active processing capacity, and a specified amount of inactive processing capacity.
Processing capacity consists of the system components:

• Processors containing cores

• Cell boards

• Memory

For each type of component, the number that can be active is equal to the number of usage rights applied to the complex for that type of component. Components purchased with a part number identifying them as “Instant Capacity” and without the label “Right to Use” come without usage rights. Components which are not labeled as Instant Capacity implicitly include usage rights that can be applied to any component of that type installed on the complex.

Prior to activation of an inactive component, additional usage rights must be obtained. The
fundamental method is to purchase usage rights by purchasing the appropriate Instant Capacity products that include the label “Right to Use (RTU)”. HP then supplies a Right to Use (RTU) codeword. When the codeword is applied to the HP Enterprise server, the inactive component can be activated.

Additional methods for activating components for which usage rights have not been purchased include:

• If an HP-UX server is a member of a Global Instant Capacity Group (GiCAP), and if extra
capacity is available from other members of the group, capacity may be “borrowed” from
another member of the group. Global Instant Capacity is described in Chapter 7.

Ooops!!! I got a big order from my client. I need higher capacity server than my current server. But I am not sure the client always wanted this kinds of big tasks from me. Buying new server never gave me profit out from this current order. This client wanted a temporary work from me. I cant miss this client because of the capacity problems in my server. hooray!!! hp TiCAP will give you temporary higher capacity in a temporary time period.

• You may purchase additional Temporary Instant Capacity (TiCAP) and apply the temporary capacity codeword in order to activate one or more cores for a temporary period of time.

Temporary Instant Capacity : If a server is a member of a Global Instant Capacity Group, temporary capacity can be shared between members of the group.

• You may temporarily activate one or more inactive cores using the Instant Access Capacity (IAC) provided with the initial purchase of the Instant Capacity component. Instant Access Capacity is exactly the same as Temporary Instant Capacity except it is automatically provided with an Instant Capacity component and is not separately purchased. It provides an immediate buffer of temporary capacity in case extra capacity is needed before there is time to purchase an RTU codeword, a TiCAP codeword, or to setup a GiCAP group on an HP-UX system.

On OpenVMS server, there are possible to stop and start CPU using DCL commands.

‘$stop cpu’ command can stop a particular CPU core manually. I don't know any other Operating system has such a facility. Similarly one can start the CPU too.
I know what you are thinking. You are thinking to hack the OpenVMS iCAP !!!.
I will explain, if one server has 32 CPU cores and it has applied an iCAP license of 16 cores. If Start CPU and Stop CPU commands are available in OpenVMS, why cant I  start 17th CPU Core?
Yes, you can!!!. But iCAP will stop one CPU among the active CPU cores. So total active CPUs are remains same :).

More details about the iCAP will post soon. Till then bye…

Wednesday, July 15, 2009

Store and retrieve Unicode characters with MySQL using PHP


Newcomers to web programming world may face some very common issues related to Unicode and local language support.
Here I am pointing some generic queries that you might be asked to your colleagues in many days.
1. How to store Unicode characters in a database
2. How php can store/retrieve Unicode characters to and from Mysql database
3. How Indian languages like Malayalam or Hindi or Tamil can be stored in database.

There are some significant difference between Unicode and Ansi fonts (visit : http://users.csc.calpoly.edu/~bfriesen/software/builds.html for difference between them). Since local language computing become much popular and even laymen starts using internet. So storing local languages(Malayalam, Hindi, etc ) will be a necessary feature for the web sites. This can be a big problem to web programmers as most might not be aware of the techniques required for storing the Unicode languages in a database.

Here I am using MySql as DB and PHP as programming language.

Design of the database tables :

when creating a table, you should ensure your table can receive Unicode characters. below are the steps to create a table, which supports Unicode.

`id` int(10) unsigned NOT NULL auto_increment,
`unicodeText` varchar(450) NOT NULL,

Here you have to make sure below things :
1. Your database encoding/collation should be utf8_general_ci.
2. Make sure your designed table(here doc_test ) should be having collation as utf8_general_ci.
3. Or even you can check the fields collation settings and make sure its utf8_general_ci.
4.Below image will help you to understand about what I meant.
I have taken a screen shot of table structure from phpmyadmin
(Click on the image to view in bigger size)

Here note the the circled part.
5. If your database is not having the proper collation settings, visit below link to convert it into utf8_general_ci.
Or install phpmyadmin software, which will help you to convert the collation settings by some mouse clicks.
6. Hope you have converted your collation settings.

Now We need PHP code to insert or retrieve the Unicode character.

1. Script to insert Unicode text to table. Here $txt is a variable which will be filled from a submit action. so user should have a text area in HTML page with a name of 'ta'.

(Eg : <textarea name="ta" rows="10" cols="80”>)

$txt= $_POST['ta']; // get the unicode text from a submit action.
$unicodeText = $txt;
@mysql_query("SET NAMES 'utf8'",$id); /// Its very inportant to display or insert unicode characters in db
$cQry= "insert into document (unicodeText) values ('".$unicodeText."')" ;
$cresult = @mysql_query($cQry,$id);

2. PHP code to Display the Unicode text from MySQL database:

@mysql_query("SET NAMES 'utf8'",$id); /// Its very inportant to display or insert unicode characters in db
$cresult = @mysql_query("SELECT unicodeText FROM document",$id);
while ($crow = @mysql_fetch_array($cresult,MYSQL_ASSOC))
echo ( $crow['unicodeText']);
Note: SET NAMES 'utf8' is an important command to work with Unicode texts. Don't forget to include that in your code.
3. Finished !!!
Hope you have enjoyed by seeing your local language visible in your web page.