First official SAP R/3 benchmarks on Linux
droesen writes "The Siemens SAP Competence Center did the first officially SAP-certified SAP R/3 benchmarks on Linux, using a Quad-XeonIII-Box. According to their press release (having some technical details) the result was the highest ever measured performance of SAP R/3 on quad-Intels. Interesting, because according to some voices, Linux doesn't scale well on SMP machines. "
I thought Linux had build flags to that effect
:-)
There is a CONFIG_SMP flag which controls SMP operation. If defined, the kernel includes multiprocessor support code, and kernel locks are "spinlocks" which work properly accross multiple CPUs. If not defined, the locks are simple set/clear interrupt calls (since if interrupts are disabled, a single CPU machine is not going to be preempted).
I was advocating going beyond this to defining multiple levels of locking granularity, i.e., allowing you to control how finely threaded the kernel is. That is not currently done, AFAIK.
Otherwise, you add the second CPU later, reboot and BLAM! Race conditions etc. out the wazoo.
I am fairly confident this is not the case with Linux; if you boot an SMP system with a uniprocessor kernel, the second CPU just sits idle, doing nothing more harmful then wasting power and generating excess heat.
Of course, I have been wrong before. I think.
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
The Linux kernel, like any multiprocessor OS, uses "locks" to protect critical sections of code which are not "thread safe". That is, for operations which will get messed up if another CPU starts monkeying with the same data structures, they put guards around any code that reads/writes those data structures.
:-)
In order to scale an OS kernel to a large number of processors, you need a larger number of locks accross smaller sections of code, so that there is less chance of contention over particular data structures. Solaris does this, which is one of the reasons it scales to 64 processors so well, but seems sluggish on a uniprocessor system. All those locks cary a significant amount of overhead.
Now, I imagine that we could define multiple "levels" of locks in the kernel. The higher the level, the more "fine grained" that lock is. If the locking functions are preprocessor macros, we could setup configuration flags that determine how fine-grained the kernel locks are.
For a single processor system, those macros simply disable/renable interrupts at lower levels, and are defined to by empty at higher levels. For a two or four CPU system, lower levels are spinlocks, but higher levels are empty, avoiding the overhead of a finely-threaded kernel. For a massively SMP machine (16+ processors), higher levels are empty and lower levels are spinlocks.
This would give you a finely-threaded kernel where the scalability wipes out the overhead of the locks on big machines, but does not impact performance on small machines.
No, I have no idea if this will work.
Comments, anyone?
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
Right. SAP started out as a financial/logistics
packages, but by now has evolved into a huge
ERP (Enterprise Resource Planning) packages.
Basically, SAP is supposed to allow you to
monitor/control almost every aspect of your
business process. Usually, SAP installations are
multi-million projects that involve business
processes redesigns and other unpleasant stuff
for people involved.
Bringing SAP to Linux is a major breakthrough
for Linux in business though.
More details! More details!
--
If you want to compare, look at this Top-20 List of Benchmark results. The results we are talking about are listed on Rank 12.
Regardless of my paranoia, I am very glad to see that the charts are looking better for Linux. However, speed in my job, however very important, is not the main thing. Performance in my eyes are 80% stability/reliability, and the remaining 20% are speed and versatility. But thats my book.
Anyway, nice to see that the hard work from the kernel hackers is turning out nicely.
Sincerely,
Alexander
Wealth is the product of man's capacity to think. -Ayn Rand
AFAIK the main problems with Linux in the Mindcraft studies lay in the networking part of the kernel. Applications like SAP don't really do that much of networking stuff, it's more reading and writing data to/from the database and doing calculations/sorting on that data. And, we all know 2.2 was made to do reasonably well on 4 processors. So to say I'm really, really surprised by this? No. Happy? Yes!
:-))) (implying that my boss see it the MS way, wanting to replace the nice RS6000's and other Unix machines with Netfinity's and NT :( )
;-)
I work for a company that is heavily involved in implementing/supporting/customizing another ERP product, Baan (you might have heard about it, Boeing uses it heavily, and had some problems with it). Baan is going the MS way, they want to sell mid-sized computers to mid/small-sized companies. Intel based, running on NT and MS-SQL, being the perfect solution. Just two weeks ago we had a visit from a MS marketing guy, telling us, of course, how beautiful the MS solution is, all integrated and all. When asked about Linux and if they see it as a real thread, he replied that Linux they watched Linux very closely, but that Linux hadn't proved itself with enterprise applications. For small businesses that's very important, they don't have the money to have a full-time Linux/Unix expert to support the box and think they *can* do the administration for the NT box themselves. Wrong? I do think so. The perfect solution I see is the remote administrated Linux box. The company I work for, or whatever other company, does your administration, from our office, or on-site if you want and you get to do what *you*'re good at. And now this news has hit the streets, that not only is Linux one of the most stable OS's, it also is really, really fast (faster than NT?), I think I'm going to dance a few rounds around my desk and drink a few virtual beers when I get home! There's hope for us all!!!
Oh yeah, FWIW, if you want Baan, on Intel, but don't like NT, ask Baan to give you the Linux version, they have it, just don't advertise it. Would they be afraid MS would cut funds if they'd advertise Linux?
Thimo
Avoid the Gates of Hell. Use Linux!
Usually, SAP installations are
... remind you of anything? No, not socialism, the other one.
multi-million projects that involve business
processes redesigns and other unpleasant stuff
for people involved.
Wow, do they ever!
SAP has been unkindly described as "corporate heroin", because it promises so much at the beginning, but then you become dependent on it, then it never seems to deliver, then it kills you. At least one or two companies have sued the makers because (they claim) their SAP programme was so bad a software disaster that it drove them into bankruptcy.
First thought: The idea that Linux could in some way facilitate this process fills me with the same ambiguous dread I would feel if I heard that it had been adopted as OS of choice by the Bosnian Serbs.
Second thought: The reason that SAP programs often fail so badly is that they are the classic "Cathedral" projects. The whole thing has to be done by a bunch of (yes, hugely paid) outside consultants, who have to basically inhale the structure of an entire multinational company, and then configure an application to mirror that structure. And you thought your website was a burden.
It would be nicer, of course, for the ERP system to be put in, bit by bit, by the people who know their local area best (the employees), and in response to their own needs. That way you could develop the management/information/computer nexus through a kind of "open" co-operative, non-hierarchical structure
If I were the betting type, I'd guess that if Open Source creates any billionaires, it'll be in something like ERP, or these other "mega-app" projects where the development model currently used is so obviously screwed. Call it the "GNUERP" project or something, and make sure taht the software tools are built around (and mirror) a set of management practices resembling ESR's "Bazaar" essays. It won't be me -- I don't have the energy or motivation. But it might be Eric Raymond . . .
jsm
Okay, so how is this going to be refuted by Microsoft? Easy. SAP is a 3-tier architecture. You've got your clients, your application server (SAP R/3) and your database server (Oracle, Informix, DB2, MS SQL Server, etc.).
You can have as many application servers as you want, but you can only have one database (which could be comprised of multiple servers in a load-balancing cluster such as Digital UNIX's TruCluster on Alphas).
This Siemens test had both the application server and the database server on the same box. Not realistic. Not scalable. Not the way real companies use SAP.
Microsoft already has NT benchmarks with over 1,000 concurrent users. As long as your database server can handle it, you just stick 10 application servers (or however many you wish) out there to take the front end load, and boom - your results go up. In fact, I've seen some UNIX results with 40 application servers all hitting the same database.
Also, no companies are going to use this benchmark, since the database Siemens decided on was SAP DB. Years ago, SAP realized that they were too dependant on Oracle (they're the largest reseller of Oracle database servers). So, they set out to write their own database. Then they realized it's not that easy. No one bought it. I had heard that development of SAP DB was killed. Evidently not - it was just ported to Linux. Still, nobody uses it in the real world.
We're off to a great start here, but still have a long way to go. Still, thanks Siemens!
As far as 128 processor SGI's, it would be cool if SGI would contribute some of their IRIX multiprocessor code to the open source community. Would that be better than the current 2.3 stuff?
Probably a little. SGI has some engineers working on improving Linux's SMP scalability, but Linus has seemed to be wary of accepting patches from them. In any case, the scalability of Intel-based SMP systems is currently limited by the memory bus, which is so narrow (800MB/s peak) that a single CPU can saturate it. The memory systems on SGI and Compaq/DEC Alpha SMP systems are often twice as fast or more and switched.
Something to keep in mind about the the Origin 2000 (SGI's 128-256 CPU boxes) is that they're not SMP systems. They're ccNUMA machines, and a lot of the "ccNUMAness" (including cache coherence, I think) is handled largely by the hardware. I wouldn't be surprised if you could boot the MIPS version of Linux on (for instance) an Origin with little or no modification. I don't know how well it would scale, though.
"My life's work has been to prompt others... and be forgotten." --Cyrano de Bergerac
At the risk of total flamebait... I've been working with SAP software for about 5 years now, doing a number of installations, so maybe I can help clarify things a bit here. My view of SAP:
- It's really big: it covers almost all back-office functionality that you would want (everything from accounting to HR to manufacturing automation), and as a result it's huge - about 3 GB of code source alone, for example
- implementing it all for a large organization is very expensive - for Fortune 500 companies, a complete installation will be close to $100m including everything
- but for a small company, with limited functionality, it's not expensive - I've seen it done for $200k at a startup before, which isn't bad considering that it runs the whole business
- it's semi-open source - essentially all the business logic is written in ABAP, SAP's language; all the source code comes with the system (only a minimal amount of core code comes as pre-compiled c exes)
So those are the facts... I'll hold on the opinions.
Theo
If things didn't break, you wouldn't learn anything.
The Linux test score of 241 users appears to have made the top twenty on ideasinternational's 2-tier SAP benchmark list. (That appears to be the Linux/Siemens machine in 12th place.)
;)
Though still a long way from the leader, a Sun 10000 rated at 1410 users, it is closing in on machines like the 12-CPU IBM AS/400 at 330 users.
Geeky modern art T-shirts