Future visions of BBO
#1
Posted 2007-February-13, 14:49
#2
Posted 2007-February-13, 14:56
From my perspective, the most crucial question is whether the software architecture and business model will continue to scale efficiently.
#4
Posted 2007-February-13, 16:18
hotShot, on Feb 13 2007, 04:07 PM, said:
We could do a lot more with the VuGraph. Possibly the most incredible would be to allow people to watch a movie of the hands being played- watch them sweat and hesitate, and listen to the players talk online.
I also wouldn't mind having the Deep Finesse double-dummy results for my hand, and interactive teaching tools.
#5
Posted 2007-February-13, 21:59
jtfanclub, on Feb 13 2007, 05:18 PM, said:
See: Internet weight: Google doesn't scale
Quote
So it's going to take more than just CPU power, or we just might have to watch the players hesitate over the NET.
#6
Posted 2007-February-13, 22:50
That may be the hardest part of BBO in the future. How precisely does one program a computer to be intelligent, and then program it to mimic reality by actually bidding like a moron, making the wrong lead for insane reasons, and then blaming partner with an intricate but bizarre explanations?
-P.J. Painter.
#7
Posted 2007-February-13, 23:15
Right now, my impression is that Fred likes to maintain fairly tight control over BBO. This is perfectly understandable - Its his baby. However, there is a limit to what any one individual (or small group) is able to accomplish. At a certain point in time I think that the BBO community would be better served if Fred and Uday started prioritizing standardized interfaces that third party developers could use to integrate their own software into BBO.
Let me provide a very simple example regarding what i'm talking about: I remember a few years back when Fred first integrated a hand generator program into BBO. Fred designed a hand generator and integrated this to the "Practice Bidding Room". From my perspective, this was a real significant advancement that wasn't available in any other online sites. However, much as I like Fred's hand generator, its extremely limited compared to any one of a number of third party hand generators. For example, Hans van Staveren and Thomas Andrews have both built extremely powerful dealer programs that allow players to create some really remarkable scripts. I would love to see BBO define a standard file format that players can use to import deals into BBO. These deals could be used for Tournaments, for bidding practice, for lectures, for whatever. The LIN file format serves some of these purposes, but its not well documents and its really overkill.
In a similar fashion, BBO is currently spending a lot of effort to make a series of improvements to GIB and to integrate GIB into the the BBO client. If it were me, I'd try to standardize and interface and then permit third party developers to link existing third party applications like Jack, Bridge Baron, GIB, or whatever into BBO. (When I'm feeling really ambitious, I start wondering whether it would be possible to use the same GUI for both a standalone application like Jack and for BBO)
BBO has a large enough membership know that you can start attracting third party developers. If you learn to harness this talent it will dramatically improve BBOs features and functionality.
#8
Posted 2007-February-14, 00:36
#9
Posted 2007-February-14, 01:14
Silicon? Well, as profligate as grains of sand on the beach. But Hafnium? Think of the number of chips they need to make out of it. I can't see them coming cheap.
Psyche (pron. sahy-kee): The human soul, spirit or mind (derived, personification thereof, beloved of Eros, Greek myth).
Masterminding (pron. mstr-mnding) tr. v. - Any bid made by bridge player with which partner disagrees.
"Gentlemen, when the barrage lifts." 9th battalion, King's own Yorkshire light infantry,
2000 years earlier: "morituri te salutant"
"I will be with you, whatever". Blair to Bush, precursor to invasion of Iraq
#10
Posted 2007-February-14, 09:59
officeglen, on Feb 13 2007, 10:59 PM, said:
Quote
Feh. Cable wise, we have so much unused fiber optic capacity (in North America) it's not even funny. The problem at the moment is ISPs, but I expect those to cease to exist in a few years. If I have a Windows Vista-capable computer with a cable modem, I have enough firepower to be my own ISP. Just give me a slightly smarter built-in router on my cable modem and Microsoft's Small Business Server. Then the smallest pipe will be the backbone, but that's not that expensive to improve.
#11
Posted 2007-February-14, 10:28
hrothgar, on Feb 14 2007, 07:15 AM, said:
Let me provide another simple example:
If I knew internals of the BBO protocol, i could build a client that shows all the played cards openly and the missing cards in each suit. the highest card in any suit is color coded, so that i don't forget to use them. An integrated suitplay utility could provide me with the best chances to play the suits. Some sort of hand generator could provide me with estimated probabilities how the missing HCP may be distributed.
This client could alert me about opps signals.
All this would allow me to get a top scorer in money bridge.
I think it makes sense that Fred is keeping control here.
#12
Posted 2007-February-14, 11:01
#13
Posted 2007-February-14, 11:21
#14
Posted 2007-February-14, 13:42
A lot of people are confusing compute power for network bandwidth. Most computers have enough power to play full-screen video but real-time full-screen video would be an enormous bandwidth hog. An HDTV signal uses about 25Mbps. Standard definition uses between 4 and 7Mbps. At the moment, most broadband users would be lucky to get 4Mbps. Smaller video at crappier resolution is more doable of course but this is thinking like an end-user which most people are. The problem for video is at the source. Say the video stream is 1Mbps. Currently everything BBO does is unicast. If you extend that model to video then you would need 1000Mbps just for video if you have 1000 people watching vugraph. This sort of bandwidth is prohibitively expensive. You could use something like Peer-to-Peer TV to dramatically reduce the bandwidth requirements at the source.
Just saying "open the BBO interfaces" is not as simple as it seems. If you start out designing a closed system, it is really tempting to send all 4 hands to every player at the start of the hand and rely on the client to only display the appropriate one. This makes the programming easier as the same message can be sent to each player rather than a different message for each player. This sort of protocol is unacceptable for an open interface since clients could simply display all 4 hands. The other problems with open interfaces have been noted in previous messages but nothing stops people from having a suit calculator running now. It is true that if you open the interface somebody could integrate one which would make cheating more tempting.
From Fred's perspective, faster processors would mean being able to sustain a higher number of people online at a time. However, the trend now is not towards single-threaded performance but multi-threaded performance. Much of BBO is still single-threaded, as I understand it, so this trend might not benefit BBO very much. Going into the BBO server and parallelizing it will be difficult and have all the problems of writing parallel code. If you've ever done it you'd know it isn't easy.
#15
Posted 2007-February-14, 15:56
mike777, on Feb 13 2007, 09:49 PM, said:
[tech talk]
Intel has a long history of dabbling in the high performance computing marketplace and its recent announcement appears to shows that it wishes to continue its marketing in this arena (even though this market segment is in dire straits and has been for the last decade). The folks at Intel are bright folks but their HPC efforts always appear to be driven by research teams rather than a commercial arm and so they announce neat technologies that struggle to make an impact in the real marketplace.
A teraflop processor sounds very impressive but it's not going to be the primary processor on the desktop for the simple reason that practically no-one needs floating point performance. Those that do need it also require huge amounts of high-speed memory and Intel have yet to work out how to connect this processor to *any* memory.
Memory performance, heat and power consumption are driving a radical shift in using the transistors that Moore's Law continues to provide us. As others have mentioned, rather than having a single processor running as fast as possible we now see Intel, IBM and Sun competing to provide multiple processors (known as cores) on a single processor die. Each of these cores is a lot simpler in design and runs slower than the old individual processor, but when you have 2, 4, 20 or 80 of these cores running concurrently they can get through a lot more work and they are a lot cheaper to run.
Programming these beasts is not going to be easy unless you have a highly parallel problem and are using a Java 2 or .Net programming model. Parallelising existing programs written in languages such as C or C++ will be paralysing!
[/tech talk]
#16
Posted 2007-February-14, 16:16
Memory
Storage
Software
Bandwidth
other
#17
Posted 2007-February-14, 16:33
There are essentially two kinds of programs...embarrasingly parallel and all the rest. Things like raytracers fall into the embarassingly parallel group. You can divide up the picture into chunks and each processor works on its own chunk and the processors don't have to talk to each other or exchange data much to do their work. The existing programming model doesn't make it easy to write these sorts of programs but due to the limited interaction between processors it is not all that difficult either. The current programming model includes C, C++, Java, .NET. There is nothing special about Java or .NET that fundamentally makes it a better environment for parallel programming. Conversely, there are a range of other programming models all of which you've probably never heard of that do make it easy to write such programs. However, these other programs models only work on certain types of problems and it is not useful for general purpose parallel programming.
Trying to take non-embarrasingly parallel programs that are currently sequential and make them parallel is usually a very difficult undertaking. Even expert parallel programmers make tons of errors doing this. Some errors may not show up for years. There is a lot of research going on for how to make writing general purpose programs in parallel easier but it is not clear how much they help or who the winner will be.
#18
Posted 2007-February-14, 16:34
officeglen, on Feb 14 2007, 05:59 AM, said:
Quote
So it's going to take more than just CPU power, or we just might have to watch the players hesitate over the NET.
Same thing. The bottlenecks of the internet are the hups. Faster chips means more bandwidth.
I'd like to see a virtual reality interface so that it feels like sitting at a real bridge table. Of course, you could also simulate the experience of swimming in a bridge pool with nice warm water and lavendel smell, or you could replace your real face with that of your favorite Disney monster. (No Sceptic and Slothy, I don't wanna hear what else you'd like to be able to use the interface for, lol).
If two of the four players happened to be in the same IRL room, they could also sit next to each other playing with physical cards the face of which were controlled via a wireleess connection to the computer. And the two other chairs could be filled with holographic images of the two oher players.
#19
Posted 2007-February-14, 16:45
helene_t, on Feb 14 2007, 05:34 PM, said:
officeglen, on Feb 14 2007, 05:59 AM, said:
Quote
So it's going to take more than just CPU power, or we just might have to watch the players hesitate over the NET.
Same thing. The bottlenecks of the internet are the hups. Faster chips means more bandwidth.
I'd like to see a virtual reality interface so that it feels like sitting at a real bridge table. Of course, you could also simulate the experience of swimming in a bridge pool with nice warm water and lavendel smell, or you could replace your real face with that of your favorite Disney monster. (No Sceptic and Slothy, I don't wanna hear what else you'd like to be able to use the interface for, lol).
If two of the four players happened to be in the same IRL room, they could also sit next to each other playing with physical cards the face of which were controlled via a wireleess connection to the computer. And the two other chairs could be filled with holographic images of the two oher players.
Now we are talking, I predicted this by 2016 in other posts, I hope so.
#20
Posted 2007-February-14, 16:48
mike777, on Feb 14 2007, 02:16 PM, said:
Memory
Storage
Software
Bandwith
other
Unfortunately no. For memory, storage and network bandwidth you have to consider latency, capacity and bandwidth with latency usually being the determining factor for performance. 20 years ago, in the time it took for one memory operation you could do say 5 or 6 CPU operations. Now, in the times it takes for one memory operation, you can do 200 or more CPU operations. This is why on-die caches were introduced. The first processors didn't have them but now we usually have 3 levels of cache that try to reduce the number of operations to main memory since it is so terribly slow compared to a CPU cycle. The size of memory has gotten better faster than its latency (speed of light problems yo) but still not at an exponential rate. Memory bandwidth has gotten better but not exponentially with higher front-side bus rates and multiple memory ports.
Storage - very similar story here. The disk is mechanical and the head can only move so fast so latency is terrible. We are talking roughly 10ms which is an eternity in CPU cycles. Again, capacity and bandwidth have gone up but not exponentially.
Network - latency...speed of light man. Capacity and bandwidth the same thing for networks and again they've increased but not at the same rates as CPU performance.
I don't know what you mean by software. Programmer productivity is probably what has improved the least over the years.