Jonathan Schwartz Shows 32-Way UltraSPARC Chip 245
Megaslow writes "The latest entry in Jonathan Schwartz's blog has pictures of Sun's Project Niagra chip, with 8 cores * 4 threads per core for a 32-way computer on single chip. He also shows what looks to be a test rig reportedly already up and running Solaris 10."
Wow (Score:5, Funny)
Two chicks, man.
Re:Wow (Score:5, Funny)
Re:Wow (Score:5, Funny)
I am of great luck that I have found you in my booting time of need.
Before my father passed away he moved 32 MILLION BYTES of CACHE to a daughter board on the pci bus. I have contacted the pci controller, and explained your GRANT request.
I need you to send me a copy of your PID, your UID, your address and your IRQ.
Re:Wow (Score:2)
solaris fan (Score:5, Interesting)
Ahhh... to be 38 and be this guy. President of Sun at 38 years old... what a life.
This is the silicon for our Project Niagara chip: 8 cores * 4 threads per core = a 32-way computer. On a chip.
And did I mention we have silicon, and not just a JPEG file?
And I saved the best for last. Are you ready?
It's already running Solaris. A volume OS that eats threads for lunch, on the world's most advanced massively parallelized silicon.
That's not just a box.
That's what we call a system. A system built for internet workloads. Not for the expedience of a press release. And a system that gives customers yet more choice, rather than taking choice away.
(And before you ask, yes, we are planning a nicer box when we ship
These guys deserve to Microsoft level of success...
Several of sun gurus have given us suggestions and hints at solaris section [tech-recipes.com] of our site. Without their early input and links from within the sun website, we would have never been as successful.
These guys are trying to do things big and correctly.
Re:solaris fan (Score:5, Interesting)
I'm watching with amusement as IBM prepares to stub its toe with their new, curiously named "OpenPower" low-end boxes.
Now, I will freely admit I am entirely confused by what they're doing. Why on earth would you ship a proprietary computer that doesn't run your own operating system (AIX)? If I were trying to freak out my installed base, that's exactly what I'd do.
These guys are attacking IBM (and linux?) directly. The first part of his blog is a calculated attack against IBM--step by step he breaks down IBM's strategy. Just when you are wondering why you ever thought about using IBM, he introduces his new baby. He must have spent hours crafting this blog post.
Yes, it's a commerical.
I just can't believe that blog posts are this important now. I remember when we would just finger the inside guys we knew to see the plan. Now, it's been turned around into a commerical like everything else.
And their blog server still gets slashdotted!!! (Score:2, Insightful)
Re:solaris fan (Score:2, Insightful)
I think "big" and "correctly" are themselves contradictions in terms these days. Solaris is bloated, Java is bloated, and now they are producing a bloated CPU chip.
None of this will stop commodity hardware and open source from kicking Sun's butt and driving them out of business, because ultimately, people don't want "big", they want manageable and cost-effective. And that Sun isn't delivering anymore.
Ahhh... to be 38 and be this guy. President of S
Re:solaris fan (Score:3, Insightful)
As much as I love sun, it's hard to argue with your points. Java and Sun both have some bloat... agreed. Even most main stream linux distros are bloated compared to a few years ago. However, it's hard for me to understand how a chip can have bloat? The bigger and faster and more the chip does, the better! Right?
People a few years ago were
Re:solaris fan (Score:3, Interesting)
One of the biggest bottlenecks in computers is the interface between the CPU and memory. It makes little sense to make the CPU so fast that it requires data faster than the memory system can provide it. So, 32-way CPU may, in fact, not be much faster than a single or dual core CPU when you build a real computer running real applications around it. Even if it turns out to be
Re:solaris fan (Score:2)
Re:solaris fan (Score:5, Funny)
Back to the drawing board again, eh, Jonathan?
Apparently Not Such a Powerful Chip After All (Score:2, Funny)
blergh (Score:3, Funny)
enough said.
Sounds Pretty Bitter (Score:5, Insightful)
Re:Sounds Pretty Bitter (Score:2)
It is not necessarily the case. Yes, it seems like the product is pretty good but the days were heavy iron were typically faster than mainstream processors are gone. Instead, heavy iron is even more of a niche, which may be eroded. Sun is kind of working from reputation in order to sell their low end stuff, and their high end would seem the be eroded by the increasing prevalance of x86-64 systems.
Re:Sounds Pretty Bitter (Score:4, Funny)
He's a programmer. You're lucky he cleaned up that well for a photo.
Beware of smiling programmers.
Re:Sounds Pretty Bitter (Score:2, Insightful)
Re:Sounds Pretty Bitter (Score:2)
He's 38, he's worked his way up to COO of a decent sized multinational IT company, he's got dud hair but at least he looks like a 90s geek instead of a 70s geek (Mr Gates).
Because of all this time dedicated to work, he's probably never had a pussy he didn't rent.
Of course he's bitter and hostile.
Re:Sounds Pretty Bitter (Score:2, Insightful)
It should, but as DEC and the Alpha show it doesn't.
Hold on... (Score:3, Insightful)
Doesn't mean a damn thing unless software is written to take advantage of it. Damn PC developers can't write software to take advantage of HT (with some exceptions, I know), but hopefully this chip's power can be realized fully.
Re:Hold on... (Score:5, Insightful)
Why is it that people keep stating that you have to write software that targets HT specifically? This is not true. Any multithreaded application will benefit from it. It is up to the OS to present you with the CPUs, real or virtual.
Yes, there are specific issues with handover during tight spinloops et.c., but only people writing locking or timing code should have to deal with those issues. Not your average application programmer.
Benefit only up to a point (Score:2)
Do you see Sun working on new synchronization mechanisms to deal with scalability issues? No.
Re:Hold on... (Score:3, Informative)
This statement is true, but...
HT or a 2nd CPU will get you somewhere between 10 and 20% boost on your software. It does this letting OS operations like disk IO, video, etc, run on the second "CPU".
If you learn to write good threaded code, you can see nearly 100% speed increase per CPU. That's the difference.
And just to turn this into
Re:Hold on... (Score:4, Insightful)
HyperThreading presents a virtual CPU - there are the same number of compuational units in the core. The speed advantage from HT is that with threaded code, there is additional silicon to save the state of each thread.
With the same number of execution units, however, you can't get better then optimal for a single non-HT CPU; once all the execution units are full, that's it, whether it's one thread or two.
HT is a great boost for a threaded app where it is not CPU bound in general.
On the other hand, a second CPU carries an aditional set of execution units; that means you can, in theory double the CPU output.
Neither helps with the memory - cpu bandwidth issues, which can limit performance. Dual CPU can mitigate that with dual memory controllers (see, e.g. Opteron), but that has it's own complications.
So, HT is a small step between dual CPU, and dual CPU.
However, even the most optimistic benchmarks from Intel that I have ever seen quote a 30ish% speed increase with HT. I have never, ever, seen anyone claim that HT can give a 100% speed boost - can you reference that claim?
I quote from
http://www.intel.com/business/bss/products/hype
Re:Hold on... (Score:2)
Re:Hold on... (Score:3, Informative)
Re:Hold on... (Score:2)
You can have 2 or more threads that want a shared resource (like the cache) that thrash each other leading to a degradation in performance vs. a single threaded processor.
Other resources are typically shared like front-end bandwidth, execution bandwidth etc...
The threads can be NON-symmetric. It's SMT (Simultaneous multithreading).
Not for PeeCees (Score:5, Insightful)
This is a SPARC processor. It runs Solaris. The Solaris kernel is fully pre-emptively muti-threaded. Most of the large applications that you buy a big Solaris box to run are also highly mutlithreaded.
The beauty of this design is that there is already a mature, stable and high-performance industry-standard OS for it (Solaris) along with thousands of applications.
You could even probably run Linux on it if you wanted.
Re:Hold on... (Score:2)
Re:Hold on... (Score:2)
A Unix/Linux developer knows that there may be multiple instances of a given program running on a server, sharing executables and having better locality of reference.
And if the program has a need to do more than one thing at a time, the authors will thread it or make it run multiple instances.
Imagine a Beowulf cluster of 16 blades, each running a 32-way CPU for 512 processors per shelf. For about 1.5 t
Re:Hold on... (Score:2)
ultrasparc (Score:2, Insightful)
Re:ultrasparc (Score:2)
Re:ultrasparc (Score:2)
/. article. But a 32 way processor? (Score:4, Interesting)
I guess this differs based on each application and resource requirements.
Still, nice.
Re:/. article. But a 32 way processor? (Score:2, Informative)
it coulda been a contenda? (Score:2)
That makes the machine scale to any task. I imagine its use as a mere web server/etc. pigeonholes the server and puts it in danger of jumping the shark early on, or worse, doing a betamax.
Re:it coulda been a contenda? (Score:2)
Then that severely limits its use in the market. Let's put it this way - the machine has GOT to be insanely expensive to begin with. Why not add a few more bucks to the cost and have a floating point unit (or more?) per core.
I think the answer is likely to be that the two FP units on this chip can already max out the memory bandwidth when doing FP-intensive work anyway, so any more execution resources would be under-utilised.
But that's just my guess.
Re:/. article. But a 32 way processor? (Score:4, Informative)
Since the chip has 8 cores, each core is quite simple. This kind of chip is more suited for database and web servers, where there are lot of simultaneous requests, but fullfilling a single request is quite simple task.
You can find more information about Niagara here [aceshardware.com].
Re:/. article. But a 32 way processor? (Score:2)
--dave (Solaris and Linux on SPARC, Linux on Intel) c-b
Re:/. article. But a 32 way processor? (Score:2)
The benefit is (1/3) * (16*32/2) or something like 85.3 to one. And the chip that they stareted with is pretty good at graphics, bitblit and floaty-point.
--dave
Re:/. article. But a 32 way processor? (Score:2)
I wonder if we will see a film using this kind of firepower any time soon...
Thanks again
I'd be ALL SET FOREVER (Score:5, Funny)
640 Processors should be enough for anyone!
Sun is doing what they do best (Score:2, Interesting)
What is Open? (Score:5, Interesting)
1. People who run Linux on a different box may be more likley to upgrade to the Open chip since they won't have to take an OS change into account as well.
2. People not happy with big blue can migrate to another vendor without having to take an OS change into account. That means less lock in.
Sun doesn't get it. Or more likley they do, but don't want to help their customers figure it out.
-Pete
Re:What is Open? (Score:4, Informative)
Well, not exactly. If they are running IBM's POWER processor, then they can't really move their applications to another vendor, as no-one but IBM "does" POWER. They could move to another platform and still run Linux (say, x86 for example), and manage to apply _most_ of their sysadmin experience - but any proprietry, binary-only applications running on that box would have to either be bought again or re-licensed. So there would be an OS change, even if it's only from one architecture to another.
-Mark
Re:What is Open? (Score:4, Insightful)
Linux runs on Sparc, as does FreeBSD. There's no reason to think that these kernels will not be ported to take advantage of the Niagra architecture. If you don't like solaris, nobody is going to force you to use it (except maybe your customers, if that's what they like).
2. People not happy with big blue can migrate to another vendor without having to take an OS change into account. That means less lock in.
I call FUD on you. Doesn't "big blue" make the Z architecture, OS/390, System/36, etc., which are text-book examples of vendor lock-in? As in all other situations, you choose the system that works best for you. If vendor lock-in is fear for you, get Linux from IBM (or Sun, for that matter).
On the other hand, if you need something that only System/36 or Windows or MacOS or Solaris provides, then you bite the bullet and buy that.
Re:What is Open? (Score:2)
Linux runs on Sparc, as does FreeBSD.
They run on most UltraSparcs (not sure about the UltraSparc IV), but they don't handles large numbers of CPU's or massive loads as well as Solaris does. This is only to be expected, as few people have access to high end Sun kit to do Linux hacking on it. Despite Schwartz's use of the "open architecture" mantra (something the OpenBSD guys would find contentious seeing as they can't get UltraSparc IV documentation), Sun's vendor lock in is Solaris. That's why they are p
Re:What is Open? (Score:2)
Sun's Opteron is high end for most Slashdot readers (who think a computers performance is measured by how well it runs Doom 3), but compared to something like an E25K [sun.com] they're distinctly entry level [sun.com] ...
Re:What is Open? (Score:2)
Live in fantasy-land all you want.. the vast majority of the people buying this chip will -want- Solaris on it, even if given a choice.
How this got modded up to is beyond me.
Re:What is Open? (Score:2)
A little of both, I guess...
Cheers,
Carlos Cesar
Re:What is Open? (Score:2)
I read that to mean that it's a chip that doesn't have an OS 'based' on it. Linux runs on it, but Linux's base hardware is x86. Most of the Linux developers do their work, testing, and tuning on x86, so that's where it will run best. It will run on many other platforms, but they aren't going to get the same level of attention.
Similarly, Darwin is native to PPC. There is an x86 port, but the PPC
Re:What is Open? (Score:4, Insightful)
Nice to know you have such predictive abilities.
: their hardware is uninteresting and Solaris is uninteresting.
I would have thought that their SMP hardware would be interesting to geeks - unlike the compromised NUMA architecture that lesser Unix boxes run.
Solaris should definitely be of interest to anyone interested in UNIX or Linux - unless features such as partitioning and scalability are dull?
The most annoying and dangerous thing about Schwartz is that he keeps trying to redefine the meaning of "open" and "open source" in order to get Sun's highly proprietary platforms and prducts (e.g., Java) to be more widely accepted.
Java 'Highly proprietary'? Ah - I guess that is why the spec is published, and why GNU can implement Java; why Java is the most in-demand language for IT jobs, and why its so widely targetted on sourceforge.
There is nothing proprietary about Java, only the name, which you must pass compatibility tests to use. Without these compatibility tests, Java would have fragmented years ago.
(and, make no mistake: Sun has tighter legal ownership of Java than Microsoft has of any of their platforms)
Evidence?
Sun already extract a lot of revenue from Java - they use it as their language of preference when the provide software consultancy services (now a significant part of their revenue). There is also J2EE licencing, and J2ME services and partnering.
Re:What is Open? (Score:2)
NUMA is good, as that's the only way things scale; Shared busses are what is bad. Crays, Opterons, and Itanium servers use NUMA. The Xeon and AthlonMP use a shared bus. I wouldn't call a Cray a lesser unix box.
Solaris should definitely be of interest to anyone interested in UNIX or Linux - unless features such as partitioning and scalability are dull?
Ev
Re:What is Open? (Score:2)
Having used Cray stuff, I would! Its too specialised. What Solaris/Sparc is great at is general purpose scalability, both on SMP and NUMA. SGI has always been keen on scalability for specialised purposes, such as numerical work (I have used their machines for molecular modelling). SGI etc. is fun stuff, but you would not want to try to scale your web server on it.
Every Unix besides SCO supports that stuff at this point,
Well yes, but Linux doesn't. So, an
Re:What is Open? (Score:4, Insightful)
I would have thought that their SMP hardware would be interesting to geeks - unlike the compromised NUMA architecture that lesser Unix boxes run.
As others have said, the current generation of big iron Suns (the Sun Fire) is NUMA. You can find details in
Alan E. Charlesworth: The sun fireplane system interconnect, Proceedings of SC2001 (available online if you have an ACM subscription).
While Suns combination of snooping and directory based cache coherency is neat, it nothing revolutionary or so, that other companies would somehow be unable to implement if they wanted to.
If Sun tanks, the world will go on just fine without them.
Solaris should definitely be of interest to anyone interested in UNIX or Linux - unless features such as partitioning and scalability are dull?
For the vast majority of users who have no need for partitioning nor extreme scalability, yes those features are pretty dull. And those who need those features know that Sun isn't the only game in town.
If Sun tanks, the world will go on just fine without them.
Re:What is Open? (Score:2)
I know. The point was that Solaris is very good at scaling over SMP as well, with a highly multi-threaded kernel. Whatever the architecture, a kernel which has been tuned for years to handle very large number of processes and threads is a benefit (otherwise, only specialised software can really make use of those processors). I assumed that this kind of tuning and high performance would be of inte
Re:What is Open? (Score:4, Insightful)
You are right in this case, but many Sun systems (including earlier SunFire machines) are SMP.
As far as scalability goes, Linux runs on "lesser" 512 CPU systems, with plans for 1024 and 2048. Solaris is at 144 CPUs. They're the cold, hard facts.
Scalability has nothing to do with the number of processors. Just because you can place a Linux system on that number of CPUs does not mean that it will efficiently make use of them for general purpose use. The large CPU count Linux systems are often for very specialised numerical work where a coder puts in a lot of effort (using specialised libraries) to distribute algorithms. You may be able to use kernel services (such as I/O) from all of those processors, but that doesn't mean it will scale within the kernel (although, in these applications, it doesn't need to).
On the other hand, high-processor count Solaris/Sparc systems are usually more general purpose business machines, running database engines, app servers, web services etc. These hammer the CPUs with unpredictable and varied requests.
The 'I put my OS on more processors that you' argument is very misleading.
Re:What is Open? (Score:4, Funny)
No offence intended! I have seen (and used) many systems where software was placed on large arrays of processors, but made poor use of them. Its like putting a go-kart on a 5-lane motorway.
Not that great.. (Score:2, Interesting)
Also, I think it's quite funny that blogs.sun.com seems to have been slashdotted...
Re:Not that great.. (Score:4, Insightful)
Even if an application isn't multithreaded, the window system may very well be. And you can always have all those background processes (clock, TCP/IP, X-server) running on different CPU's, leaving at least one CPU free to run your application without swapping/scheduling out memory.
Re:Not that great.. (Score:2)
Re:Not that great.. (Score:2)
Database applications come to mind. Granted, you'd have to have some pretty nice high end hard drive configurations, but that's par for the course - if you look at any enterprise solution, they have all the front end application servers, which are generally toned down, and then they have the database server, which is basically as powerful as possible.
Also, given fiberchannel or large disk array solutions, I can think of a lot of applications this would speed up. Anything that spawns new processes
Re:Not that great.. (Score:2, Interesting)
Too bad TFA is slashdotted... the point is not parallel applications, it's applications with lots of threads. If you're putting together a service nicely decomposes into lots of threads (i.e., lots of httpd's) then this is very nice -- lots of threads running side by side, no context switches...
Re:Not that great.. (Score:2, Interesting)
These chips will not be used for databases or scientific computing where you would like high single thread performance.
They will be used for web servers and the like, where you have lots of users hammering on one server.
Re:Not that great.. (Score:2)
--dave
something for google? (Score:3, Interesting)
We're supposed to be impressed? (Score:5, Insightful)
Re:We're supposed to be impressed? (Score:2)
Heck, just to have an 8-way system in the SPACE of a 1-way, is very damn impressive. But of course your apps have to be written to take advantage of them.
Re:We're supposed to be impressed? (Score:2)
Tried it, deployed it, been using it for years.
Re:We're supposed to be impressed? (Score:2)
Maybe they do though I think it is a pretty dumb idea to buy a propietary SMP box to run "commodity" services like mail or WWW. Using clusters of cheap x86 based servers scales just as well for those applications and costs a whole lot less. Companie
Re:We're supposed to be impressed? (Score:2)
The only system that anyone may be doing something on is Linux. But nobody has publicly announced anything there either.
I do have some lock-free algorithms that are portable but those aren't in widespread use. In fact
Re:We're supposed to be impressed? (Score:3, Informative)
The current problem in compuring is that memory speeds are going up far slower than processor speeds, causing huge cache-fill delays. Sun came up with a simple architecture to keep the processors running anyway, and it is compatable with multiprocessing and multithreading:
1. Run decoder A until cache blocks on a read
2. Clear ALU and switch to decoder & register file B
3. Run B until cache blocks on a read...
Software licensing (Score:5, Interesting)
Perhaps a better solution would be to adopt the approach taken by IDC (which Sun obviously seem quite happy to back) of counting processor sockets, instead of cores [zdnet.com.au].
Anyone know what other software companies are planning on doing with their per-processor licensing ?
-Mark
Re:Software licensing (Score:3, Insightful)
Licensing probably won't change until everyone has multi core processors. Even then, licensing per "computer" wi
Re:Software licensing (Score:2)
Yes, though only in a specific way. The lag on most servers isn't CPU it's disk I/O. Having so many cores on the same package would make short work of some calculations though mostly for financial, military, nuclear, other sciences.
In a typical company, more CPU girth is wasted unless you find a new application for it; server-side execution of client programs (Sun's own Java Desktop Linux distribution) and server consolidation com
Re:Software licensing (Score:2)
It can't compete with the 12K in _any_ sense. It has a tiny fraction of the memory capacity, the memory bandwidth, the I/O bandwidth, the cache, the TLB, the floating point performance, etc.
This might be a great CPU for first-tier web serving, and maybe second-tier app-server kinds of processing, but it's not even a remotely viable candidate for the third-tier da
Re:Software licensing (Score:2)
solaris 10 predictive self healing (Score:4, Funny)
That's just 31 more ways the machine can fail... (Score:2, Interesting)
Re:That's just 31 more ways the machine can fail.. (Score:3, Interesting)
Sun may still have good server hardware -- it's been a while since I've had to deal with it -- but as far as workstations are concerned, I don't think they've ever matched what they achieved with the SS2, compared with the contemporary competition.
And it even looked good.
Re:That's just 31 more ways the machine can fail.. (Score:2)
In any case, I think it's unwise to judge the total output quality of a company, based on just your particular experience, with possibly one single computer or application.
Re:That's just 31 more ways the machine can fail.. (Score:2)
Sun's current line of workstations are pretty poor compared to the SparcStations of yesteryear. Back in the mid 1990's they were well worth the expense if you wanted a reliable Unix machine on the dekstop. My SS5 is still whirring away as a firewall and webserver at home. however, if I wanted a decent RISC workstation nowadays then I'd go for a Mac and dual boot either Linux or NetBSD on it.
Sun's servers are still excellent though, and they're my first choice for serious database machines. Alphas were a g
Re:That's just 31 more ways the machine can fail.. (Score:2)
Methinks this is one way Sun's improving their quality control (;-))
--dave
8 cores? (Score:2)
OK, I think this is impressive.
Now, who's going to fab this baby? TI?
C10K (Score:5, Informative)
The new Solaris 10 networking code reputedly pays a lot of attention to exploiting, and serving threads well, particularly hardware multithreading if it's available.
If they could squeeze one of these and maybe 8GB+ of RAM into a 1U box or into their blade centre, then I think it'd do quite nicely for serving web.
Whiny (Score:2)
Has anyone noticed.... (Score:3, Funny)
"That's what we call a system" (Score:2, Interesting)
Jonathan is useing this blog as a marketing spot. (Score:2)
CIO's are walking away from Unix, because it is a lockin on hardware and software. IOW, too high of cost. With OSS, you get a low cost or free OS, and true competition with hardware. That lowers the revenue on Hardware.
What is interesting is that Windows offered the same advantage until they got to be monopolized and started charging as much as Unix did.
Nice FUD (Score:2, Insightful)
I wonder if Microsoft taught Sun execs classes on speaking FUD as a part of the lawsuit settlement...
Yet more hot air from a dying company mismanaging a great, outstanding product (Solaris), that's quickly being swallowed by Linux, Apple, *BSD, and NT, and is so..
Re:Jonathan Schwartz (Score:3, Funny)
I'll try.
'HARE-kit'.
How'd I do?
I can say 'haircuit'... (Score:2)
Re:Jonathan Schwartz (Score:2, Funny)
This man clearly has no time to support his hair, because it is not part of his core business. Haircuts designed by an underpaid committee simply don't cut it. We suggest that he should open source his haircut using a GPL style license and let the community do all further development. ESR is already preparing a groundbreaking new paper named "The wig museum and the hairdresser's shop".
Re:Jonathan Schwartz (Score:2)
He wouldn't last five minutes in a school playground [playgroundlaw.com].
Re:Blog? (Score:2, Funny)
Re:Blog? (Score:2)
I just realized I missed the O not the U.
That could have been funny, instead it wasn't.
Because sun can compete here (Score:5, Informative)
OTOH Solaris is already REALLY good at multitasking. The system i'm typing this on has almost 5,000 threads, it's at 80% utilization and it's still very responsive.
As you put more tasks onto a single CPU it'll have to burn more and more cycles doing context switches and suffer from register starvation.
Plus large boxes benefit from economies of scale and can have features that aren't practical in smaller ones:
When a CPU fails the system can take that motherboard out of circulation, then the admin can replace it at their convenience. Same for memory and psu's. Usually no downtime.
Plus we already know that it takes less resources to admin a unix machine than a windows box. Now consider a 144 CPU x 32 Core machine. Even IF it could only handle the workload of 500 windows servers the admin costs are slashed further.
Also consider that the cache might be shared, but then consider that all those cores will most likely be running the same application. I'm sure there's lots of code within oracle or java that gets reused frequently by all the processors. An eightcore chip with 16MB of cache will naturally be able to cache much more of the shared resources than 8 cpu's with 2MB cache.
Market dynamics (Score:2)
Close, but not quite. It breeds a combination of price and quality as close to optimal as possible. Sometimes the best product dies because there's something cheaper. Sometimes the best product survives despite a higher price, because it brings that much extra value to the market. The best product at the cheapest price is a great thing to hope and wish for, but is not usually a r