Database Forum / Oracle / Oracle Server / November 2005
10g RAC: max performance & min cost with miSCSI?
|
|
Thread rating:  |
Heikki Siltala - 16 Nov 2005 09:07 GMT Hello all,
we are currently choosing which path to take in our Oracle database environment renewal process. What we want is 1) reliability 2) minimun downtime 3) maximum peformance 4) minimum cost. Sounds easy? :-) Due to reliability and minimun downtime requirements we are planning to build a 2 node Linux Oracle 10g RAC. To get maximum performance we have to focus on the disk system peformance. To minimize the cost we are planning to run the nodes 1 CPU each since Oracle lisences are per CPU. 2 CPU per node would require us for purchasing Enterprise Edition licenses, RAC licenses, OLAP and partitioning licenses etc. 1 CPU per node requires only a RAC license for 2 CPU since we have already everything else for 2 CPUs. A detailed calculation showed that 1 CPU per node cost in our case only 25 percent in terms of Oracle licensing costs compared to 2 CPU per node alternative.
I have started the desing from the IO peformance. I have never seen an Oracle database environment where CPU is the bottleneck. The bottleneck seems almost always be on the disk system so starting the design on disk system seems the right way to go. I have taken a goal to build a system that offers enough IO bandwidth to saturate the CPUs (1 CPU per node, 2 nodes). Some materials suggest that a modern CPU can drive 200 MB/s (3 GHz Xeon). Since we have 2 CPUs on RAC the disk system should be able to deliver 400 MB/s, let's say 500 MB/s to be safe. Assuming that the physical disks is typically the weakest point on IO performance I started to build it up from there. Using SAME (stripe and mirror everything) the IO load on disk will be random, not sequental. I assume a 15k disk can deliver 25 MB/s of random IOs, so 500 MB/s system requires at least 20 disks.
I have browsed thru the storage solutions of different vendors (Sun, Dell/EMC, Adaptec, HP, IBM). To limit the possiblites I focused first on HP's offerings. What we need is disk system that can hold 20 disks (and maybe some additional 300 GB 10k disk for disk-to-disk-to-tape backups etc) and deliver 500 MB/s. HP's MSA500 has not enough disk slots and MSA1000 can deliver only 200 MB/s. If we shift to more advanced storage systems, the price tag rises significantly. But wait, there is still an alternative for 2 node RAC. HP MSA30 MI is a multi-initiator U320 SCSI array with dual SCSI busses and ability to hold 14 drives (7 drive slots per bus). The list price seems to be about 4000 euros. The issue with MSA30 MI is that it doesn't support Xeon (HP Proliant) servers, only Itanium (HP Integrity) servers. I can't understand why on earth they have come up with this limitation! If using MSA20 MI and two Itanium 1 CPU nodes, the disk configuration would be two MSA30 MI arrays, two busses each, so both nodes would need U320 SCSI HBAs for four SCSI channels. The disks could be put so that each MSA30 bus holds five 15k disks.
Now if we start to calculate the performance from the ground up, we have 5 disk per array bus each disk having 25 MB/s random access transfer rate so this makes 125 MB/s per bus. We have four busses on disk arrays, so the disk arrays can deliver 500 MB/s if the IO is evenly distributed. Each array bus is accessed by both nodes using multi-initator U320 SCSI channel, and since the channel can theoretically run 320 MB/s, 125 MB/s can be easily be transported over it. A node has 4 U320 channels to arrays and each channel has 125 MB/s of disk. So one node could theoretically get 500 MB/s of IO out disks (assuming that the HBAs are PCI-X 64 bit) and can easily saturate the CPU. And if both nodes are accessing the disks the IO speed drops to 250 MB/s which is still enough to saturate the CPU. So if this calculation is correct, we need to buy two MSA30 MI units (total 8000 euros), four 2 channel PCI-X U320 SCSI HBAs and 20 15k disks and get a IO performance of 500 MB/s on two node RAC system.
The questions you might now ask is that how to distribute the load evenly on the disks and how to handle striping and mirroring since MSA30 MI is a JBOD array. Now Oracle 10g ASM comes to rescue. If we configure all the disks as one ASM diskgroup using normal redundancy (2 copies kept) the ASM will do it all: fully automatic IO load balancing, striping and mirroring. No need for LVMs, LUNs, disk array RAIDs etc.
The point of posting all this to the newsgroup is that I would like to know what you think about this idea of using multi-initiator SCSI as a RAC shared disks. This is of course 2 node system and cannot be scaled to n nodes, since shared SCSI with MSA30 MI is only for two nodes (and I think that RAC on m-i SCSI has the same limitation). The other open issues/questions still remains are
1. Can we fully rely on 10g ASM? In this solution the data redundancy is managed only by ASM, not by the storage system. What are the risks if we build a huge 20 disk diskgroup (2 failure groups, 10 disks each) to store ALL the database data (tablespaces, redo logs, archive logs, control files etc).
2. What would be the other options to get 500 a MB/s disk system performance in a reasonable price? If we put two MSA1000 units, each delivering 200 MB/s, we get 400 MB/s which is quite close. How about the offerings from other vendors?
3. Can you think any glues on why on earth HP has decided not to support MSA30 MI on Xeon (Proliant) servers. Why it is only for Linux 64bit and HP-UX Itanium (Integrity)? Is there similar mi-SCSI storage systems from other vendors that are supported for Xeon servers? It seems more than a little bit pointless to build a cheap disk system and then be forced to move from Xeon to Itanium.
-- Heikki
hpuxrac - 16 Nov 2005 13:26 GMT #> I have started the desing from the IO peformance. I have never seen an #> Oracle database environment where CPU is the bottleneck. The bottleneck #> seems almost always be on the disk system so starting the design on disk #> system seems the right way to go.
While having a good IO subsystem is important, all well developed and well constructed oracle systems should have cpu as the limiting factor. If you haven't seen systems like that many other people have.
You did not give any details about what the application will look like, how big the database will be, the transaction volume and type, etc.
You want oracle to keep data within the buffer cache and NOT to be constantly reading from disk.
Heikki Siltala - 16 Nov 2005 14:52 GMT About the application: we are running a multi-purpose consolidated database which have everything you can imagine of: access from web applications, queries issued from SQL*Plus and Discoverer, some large batch inserts/updates. The database size is currently about 300 GB and is excpected to be remain under 700 GB which is the maximum capacity of 20 mirrored 73 GB disks. We could also use 146 GB 15k disks to double the storage capacity. The database is read intensive so over 90% of operations are reads. But we can't ignore the write performance since there are a couple of large long-running patch updates. I can't give you exact numbers what is the requirement for IO peformance since there are no exact numbers. Currenlty the users are quite happy. What I want now is to put the new system up so that the performance will be blistering at the beginning and remain tolerable for four years.
I am planning to put 8 GB RAM to both RAC nodes, or maybe 12 GB to be safe. The processors on the nodes will be the fastest available single core Xeons or AMDs. Multi core seems to be out of the question since Oracle has this stupid licensing model.
I have now come up with another storage system proposal. We could use MSA500 units. We need two of them and both with High Availability Kit. MSA500 list price is about 4500 euros and HA kit is 4000 euros, so we need to pay 17000 euros for the disk units compared to 8000 euros when using MSA30 MI. MSA500 & HA kit includes all needed HBA PCI-X cards and offers possiblity for "hardware raid". And now we can use Xeon/AMD servers instead of going up to Itanium. Assumably two MSA500 units can give similar IO speed than two MSA30 MI units since the internal structures are similar (two U320 SCSI busses, 7 disk slots each). What I don't know is how will the storage processor of MSA500 perform. It could be the bottleneck here. I have been warned that the storage processors of these cheap disk systems are quite slow. I have read that MSA1000 with two SPs runs the SPs active-passive, so only one SP is active. It could be same thing with MSA500 with dual SP's (HA kit). So what we have is two MSA500 both having one SP active. Can a MSA500 storage processor deliver the required 250 MB/s to get total 500 MB/s of IO?
-- Heikki
Joel Garry - 18 Nov 2005 01:28 GMT I'd say search for a document named something like http://www.miracleas.dk/WritingsFromMogens/YouProbablyDontNeedRACUSVersion.pdf and spend the dollars on hp-ux. But I'm biased, from being fairly impressed by such a system (HP rpr with MSA1000).
jg -- @home.com is bogus. http://www.signonsandiego.com/uniontrib/20051117/news_1b17overland.html
Heikki Siltala - 22 Nov 2005 21:52 GMT > I'd say search for a document named something like > http://www.miracleas.dk/WritingsFromMogens/YouProbablyDontNeedRACUSVersion.pdf > and spend the dollars on hp-ux. But I'm biased, from being fairly > impressed by such a system (HP rpr with MSA1000). I have now read the document, twice! :-) What we will do next is to investigate our processes and to see if RAC would really help to minimize the downtime during maintenance operations. As far as I can see it could be just opposite: we might end up doing more maintenance and having longer service breaks when using RAC.
Our current database server is a five-year-old HP-UX and I haven't seen anything else so reliable. It just works. No need for reboots, no OS crashes, no disk failures. I must be from a different planet than our Windows servers.
-- Heikki
Heikki Siltala - 17 Nov 2005 19:43 GMT About the application: we are running a multi-purpose consolidated database that has almost everything you can imagine of: access from web applications, queries issued from SQL*Plus and Discoverer, some large batch inserts/updates. The database size is currently about 300 GB and is excpected to be remain under 600 GB. The database is read intensive so over 90% of operations are reads. But we can't ignore the write performance since there are a couple of large long-running batch updates. I can't give you exact numbers what is the requirement for IO peformance since there are no exact numbers. Currenlty the users are quite happy. What I want now is to put the new system up so that the performance will be blistering at the beginning and remain tolerable for four years without hardware change.
I am planning to put 8 GB RAM to both RAC nodes, or maybe 12 GB to be safe. The processors on the nodes will be the fastest available single core Xeons or AMDs. Multi core seems to be out of the question since Oracle has this stupid licensing model.
I have now come up with another storage system proposal. We could use HP MSA500 G2 units. We need two of them and both with High Availability Kit. MSA500 list price is about 4500 euros and HA kit is 4000 euros, so we need to pay 17000 euros for the disk arrays compared to 8000 euros when using MSA30 MI. MSA500 & HA kit includes all needed HBA PCI-X cards and offers possiblity for "hardware raid". And now we can use Xeon/AMD servers instead of going up to Itanium.
We could also use two MSA500 G2 units without HA kit. Both MSA500s could be connected to both nodes and ASM could be configured to treat the disks so that the first MSA500 is failure group 1 and the second is failure group 2. With this configuration HA kits wouldn't be needed and the disk system would still tolerate a single point of failure. Price of the disk arrays drops from 17000 euros to 9000 euros. What we want in this configuration is to configure MSA500 to present each disk as a plain no-raid disk to the nodes. Wondering if MSA500 can do that or does it enforce using some RAID level. Couldn't find the answer from the User's Guide.
Assumably two MSA500 units can give similar IO speed than two MSA30 MI units since the internal structures are similar (two U320 SCSI busses, 7 disk slots each). What I don't know is how will the storage processor of MSA500 perform. It could be the bottleneck here. I have been warned that the storage processors of these cheap disk systems might be quite slow. According to MSA500 User's Guide MSA500 with two SPs (HA kit) runs the SPs active-passive, so only one SP is active. So what we have is two MSA500 both having one SP active despite of having HA kit installed or not. Still wondering if a MSA500 storage processor can deliver the required 250 MB/s to get total 500 MB/s of IO out of two MSA500 G2 arrays.
 Signature Heikki
DA Morgan - 17 Nov 2005 22:55 GMT Comments in-line.
> About the application: we are running a multi-purpose consolidated > database that has almost everything you can imagine of: access from web [quoted text clipped - 8 lines] > performance will be blistering at the beginning and remain tolerable for > four years without hardware change. Without a StatsPack to tell you where your time is being spent now your chance of getting to blistering is not high. You need to address bottlenecks ... not just throw hardware at it.
> I am planning to put 8 GB RAM to both RAC nodes, or maybe 12 GB to be > safe. The processors on the nodes will be the fastest available single > core Xeons or AMDs. Multi core seems to be out of the question since > Oracle has this stupid licensing model. Without knowing your operating system a choice between Xeons (Windows) or AMD (Linux) is impossible. But throwing RAM at the servers as it appears you are doing is just wasting dollars. The only guarantee with more RAM is that it equates with more cost.
> I have now come up with another storage system proposal. We could use HP > MSA500 G2 units. We need two of them and both with High Availability [quoted text clipped - 25 lines] > not. Still wondering if a MSA500 storage processor can deliver the > required 250 MB/s to get total 500 MB/s of IO out of two MSA500 G2 arrays. I think you are in desparate need of a storage engineer to discuss LUNs and switch zoning with you. I know of nothing in what you have posted, above, that equates with your goal.
 Signature Daniel A. Morgan http://www.psoug.org damorgan@x.washington.edu (replace x with u to respond)
Heikki Siltala - 22 Nov 2005 21:43 GMT I have been playing around with tools like Spotlight and what the database keeps waiting is the disks. It has been the same ever since the database was created over 4 years ago. Adding DBWR slaves, relocating redos and archived redos, tuning log buffer etc have been tried but the bottleneck is still the IO system which consists of "multiple SCSI disks put into a multiple disk arrays and connected to the server via various SCSI channels". What else could be expected from this kind of a mess.
The dual 440 MHz 64-bit RISC processors of the current server never run at 100 %. What we get is typically 3 % to 9 % CPU load per a data warehouse operation. On read operation the database waits for single and multiple block reads and on write operation it waits for redo logs. In a new system I want to make sure that redo writing wont be the bottleneck again. I have been thinking of placing them on two 2 GB solid state disks, and give two 15 krpm SCSI disks just for the archived logs.
Yes, what we really need is an opportunity to talk with a storage engineer. Since we are in Finland I'm not expecting much. So far all we have got is a) guys that don't ask a word about the application and just try to sell their own brand/solution and b) guys that don't ask a word about the applicaton and just wanting to use the same solution that they have been implemented to another customer or that they have been found using a Google search. :-)
-- Heikki
NetComrade - 29 Nov 2005 23:09 GMT >I have been playing around with tools like Spotlight and what the >database keeps waiting is the disks. It has been the same ever since the [quoted text clipped - 3 lines] >put into a multiple disk arrays and connected to the server via various >SCSI channels". What else could be expected from this kind of a mess. While 'playing around' with Spotlight, have you tried identifying heavy on IO queries and try to tune them? Most likely you can tune your application with putting in place some summary tables, or adding a few indices.
....... We use Oracle 8.1.7.4 and 9.2.0.6/7 on Solaris 2.7 and RH4 remove NSPAM to email
Frank van Bortel - 30 Nov 2005 11:31 GMT > I have been playing around with tools like Spotlight and what the > database keeps waiting is the disks. It has been the same ever since the [quoted text clipped - 19 lines] > have been implemented to another customer or that they have been found > using a Google search. :-) What else do you expect? Processor<->memory is a thousand times faster than disks. Tune (your statements) to do less IO, or learn to live with it.
And Spotlight (Quest?) has a history of wrong calculations; a version would help. Still very much the tune by hit ratio school, I'd say
 Signature Regards, Frank van Bortel
Top-posting is one way to shut me up...
DA Morgan - 16 Nov 2005 14:45 GMT > Hello all, > [quoted text clipped - 91 lines] > little bit pointless to build a cheap disk system and then be forced to > move from Xeon to Itanium. I am a bit concerned with some of what you wrote ... and some of what you didn't write.
First: My understanding with Standard Edition is that it covers up to 4 CPUs. If that is still correct you might want to go for a 3 node or 4 node cluster. You never want to be ina position where taking a CPU off-line cuts your processing power by 50% and removes all failover capability.
Second: The last place I would look for a storage subsystem for RAC is "(Sun, Dell/EMC, Adaptec, HP, IBM)". Contact NetApp and specifically ask about the FAS250 and FAS270 series. They will save you a huge amount of grief as they eliminate the need for a cluster file system and/or ASM.
 Signature Daniel A. Morgan http://www.psoug.org damorgan@x.washington.edu (replace x with u to respond)
Heikki Siltala - 17 Nov 2005 19:55 GMT > First: My understanding with Standard Edition is that it covers up > to 4 CPUs. If that is still correct you might want to go for a 3 > node or 4 node cluster. You never want to be ina position where > taking a CPU off-line cuts your processing power by 50% and removes > all failover capability. We are running Enterprise Edition due to reasons that we use for example OLAP option which is not available on Standard Edition. What we are looking for is 1) to protect the system from downtime due to "single point of failure" type of failures and 2) to give possibility to install patches or do other maintenance during the regular working hours and 3) keep the costs low.
I feel that building a two node RAC 1 CPU per node with low-cost well-performing disk system could fullfill all these needs. We are happy that our database and applications running against it are not 24/7 and can tolerate downtime in rare situations when 1) there is a "more than a single point of failure" type of failure and 2) when a failure on the active node occurs while the other node is under maintenace (pathcing etc)
Of course, if didn't have to consider the budget, we would buy four node system and fiber channel SAN.
-- Heikki
DA Morgan - 17 Nov 2005 22:57 GMT >> First: My understanding with Standard Edition is that it covers up >> to 4 CPUs. If that is still correct you might want to go for a 3 [quoted text clipped - 21 lines] > Of course, if didn't have to consider the budget, we would buy four node > system and fiber channel SAN. Fibre channel SAN with 7TB of disk can be had for well under $12K USD. The fabric switch for under $4K USD. Reconsider your choices.
 Signature Daniel A. Morgan http://www.psoug.org damorgan@x.washington.edu (replace x with u to respond)
Heikki Siltala - 22 Nov 2005 22:12 GMT > Fibre channel SAN with 7TB of disk can be had for well under $12K USD. > The fabric switch for under $4K USD. Reconsider your choices. Yep, you are right.
I have seen some interesting papers and read "resilient low-cost storage" papers for Oracle. Apple Xserve RAID seems to be the most cost-effective solution. It uses ATA disks and according to some tests it can run 266 MB/s of read operations. And configuring it to JBOD, combining it with ASM S.A.M.E. and configuring the OS and HBAs to use 1 MB IO operations could be a killer solution. Since ASM would notice a disk failure and immediately rebalance the system to regain data redundancy we shouldn't need to worry too much about ATA disk having a lower MTBF than SCSI disks. I would still rather put redo logs on 2 GB solid state disks.
What comes to RAC is that I'm no longer sure if it will be justified to invest money into it. Hopefully someone writes a free clustering software for Oracle XE based on redo log shipping and log miner (mis)use. Even us without an unlimited budget could then build a true database grid. :-)
-- Heikki
JEDIDIAH - 23 Nov 2005 16:37 GMT >> Fibre channel SAN with 7TB of disk can be had for well under $12K USD. >> The fabric switch for under $4K USD. Reconsider your choices. [quoted text clipped - 4 lines] > storage" papers for Oracle. Apple Xserve RAID seems to be the most > cost-effective solution. It uses ATA disks and according to some tests What I hear from storage industry types is that SATA isn't quite yet ready for prime time yet. The drives aren't reliable enough and TCQ is either not there or not good enough.
[deletia]
Although I would be interested to hear the experiences of those that have put SATA in production or under high load.
 Signature The best OS in the world is ultimately useless ||| if it is controlled by a Tramiel, Jobs or Gates. / | \
Heikki Siltala - 24 Nov 2005 19:58 GMT > What I hear from storage industry types is that SATA isn't > quite yet ready for prime time yet. The drives aren't reliable enough > and TCQ is either not there or not good enough. The drives do have a worse MTBF than SCSI or FC drives. I was thinking of putting Oracle ASM into good use by striping and mirroring everything and running the RAID array JBOD mode. In a case of a disk malfunction ASM should be able to detect it automatically and rebalance the whole set of disks so that data is again redundant (2 copies of each data block). After the rebalance another disk could fail and the rebalance happens again on background as long as there is enough capacity to store all data twice on the remaining disks. And if the disks are 500 GB ones the data should fit easily. The question still remains how good Oracle ASM is a) in detecting disk failures and b) doing the rebalance fast enough to minimize the possibility for another disk failure to occur during the rebalance.
What comes to TCQ is that I would be putting high hopes on Apple RAID cache (2 x512 MB) & storage processors and on the fact that every disk on the array has a separate ATA controller. As stated in http://www.oracle.com/technology/deploy/availability/pdf/lcs_OW.doc.pdf a single array should be able to sustain 266 MB/s of read throughput on multi user sequential workload ("Data Warehouse").
-- Heikki
JEDIDIAH - 23 Nov 2005 16:35 GMT [deletia]
>> Of course, if didn't have to consider the budget, we would buy four node >> system and fiber channel SAN. > > Fibre channel SAN with 7TB of disk can be had for well under $12K USD. > The fabric switch for under $4K USD. Reconsider your choices. This is with NetApp? No one I talked to about netapp gear was able to come in at this pricepoint. This even included used hardware. I am not even sure that 7TB of SATA could be had for only 12K.
 Signature The best OS in the world is ultimately useless ||| if it is controlled by a Tramiel, Jobs or Gates. / | \
Heikki Siltala - 24 Nov 2005 19:36 GMT > I am not even sure that 7TB of SATA could be had for only 12K. Just checked on store.apple.com and Apple Xserve RAID has a list price 11 639 EUR (13 714 USD) for Finnish customers at 14x500 GB (7 TB) disk configuration. Includes free shipping. With cache battery backup modules and premium support the list price is 12 782 EUR (15 061 USD).
-- Heikki
DA Morgan - 24 Nov 2005 20:03 GMT >> I am not even sure that 7TB of SATA could be had for only 12K. > > Just checked on store.apple.com and Apple Xserve RAID has a list price > 11 639 EUR (13 714 USD) for Finnish customers at 14x500 GB (7 TB) disk > configuration. Includes free shipping. With cache battery backup modules > and premium support the list price is 12 782 EUR (15 061 USD). And if you point them to the US prices ... list is $12,999 ... and no one pays list ... you should be able to negotiate a better price than that.
 Signature Daniel A. Morgan http://www.psoug.org damorgan@x.washington.edu (replace x with u to respond)
slee328@gmail.com - 22 Nov 2005 23:05 GMT Heikki:
I agree with Daniel's recommendations because NetApps are FAST but it is NAS. It provides 99.99% availability instead of the pricy SAN with 99.999 availability. However, with the NetFiler, you save on clustered file systems and with the costs saving, you can always mirror your disks volumes to give you no single point of failure on the storage unit. Unless you absolutely need the 64GB/s type of I/O throughput, NetApp will do the job just fine. BTW, Oracle, Yahoo and Google uses Netapps for their Oracle DBs as well.
For the CPU, if you can only buy 1 CPU for your system, purchase the IBM PPC chip instead of Xeon. You can go to www.tpc.org to find out the numbers for this CPU. It is FAST and you can run RH Linux on it instead of AIX.
Regards, Stephen Lee
DA Morgan - 23 Nov 2005 00:12 GMT > Heikki: > [quoted text clipped - 14 lines] > Regards, > Stephen Lee Actually there is no SAN on the planet that will provide five 9s of service. To achieve five 9s you need to diesel generators in the parking lot, dual redundant power conditioning, dual redundant networks and switches, etc. Five 9s isn't about hardware ... it is about infrastructure.
If someone needs more than what NAS can provide ... they'd better have a very full checkbook.
 Signature Daniel A. Morgan http://www.psoug.org damorgan@x.washington.edu (replace x with u to respond)
Ronald Rood - 23 Nov 2005 07:02 GMT >> Heikki: >> [quoted text clipped - 18 lines] > service. To achieve five 9s you need to diesel generators in the parking > lot, dual redundant power conditioning, dual redundant networks and And don't forget to power the diesel pumps using the emergency net !
With kind regards / met vriendelijke groeten, Ronald
http://ciber.nl http://homepage.mac.com/ik_zelf/oracle
JEDIDIAH - 23 Nov 2005 16:39 GMT > Heikki: > [quoted text clipped - 6 lines] > NetApp will do the job just fine. BTW, Oracle, Yahoo and Google uses > Netapps for their Oracle DBs as well. Yeah, but not all netapps are NAS. Some Netapps are FC SAN and as pricey as anything from EMC or Hitachi.
> For the CPU, if you can only buy 1 CPU for your system, purchase the > IBM PPC chip instead of Xeon. You can go to www.tpc.org to find out > the numbers for this CPU. It is FAST and you can run RH Linux on it > instead of AIX.
 Signature The best OS in the world is ultimately useless ||| if it is controlled by a Tramiel, Jobs or Gates. / | \
JEDIDIAH - 23 Nov 2005 16:32 GMT [deletia]
>> 3. Can you think any glues on why on earth HP has decided not to support >> MSA30 MI on Xeon (Proliant) servers. Why it is only for Linux 64bit and [quoted text clipped - 17 lines] > amount of grief as they eliminate the need for a cluster file system > and/or ASM. How do they manage to do this?
 Signature The best OS in the world is ultimately useless ||| if it is controlled by a Tramiel, Jobs or Gates. / | \
|
|
|