1,090 Posts served
4,543 Conversations started
|
Five things about Clay (4 true and 1 false): [1] Clay has studied and worked with parallelism and concurrency for over 20 years; [2] Clay, while an assistant professor at the University of Southern Mississppi, was initially confused as to why Green Bay Packer apparel was being worn so frequently around campus; [3] Clay pursued a Math degree while he was an Instructor in the CS Department at Eastern Washington University; [4] Clay's SF novel, "Bitonic Fallacy," has been translated into 5 languages; [5] Clay once had a cat named "Buffer". |
Dans mon dernier poteau j'ai accentué des efforts de construire un traducteur automatique de langue. Maintenant, j'ai constaté qu'il y a un projet semblable étant placé dans l'union européenne (EU). TC-STAR le premier rôle est concentré sur pouvoir traduire automatiquement le discours dans une des 23 langues officielles d'EU au discours dans un des autres. (Translation by Babel Fish.)
The Enterprise was equipped with one, even though every alien race that Captain Kirk met spoke English. The Priest-Kings of Gor used one. The TARDIS gave the Doctor and anyone else riding along the ability to do it. Is a universal langauge translator possible? A Berkeley professor thinks so.
In a past post, I've questioned how we are expecting to "feed" the ever-growing number of cores with data. In the April 2008 issue of Communications of the ACM, Daniel Kunkle and Gene Copperman (yes, those Northeastern University researchers that have recently been computing Rubik's Cube solutions) may have come up with part of the solution. The [...]
If you were illiterate, how would you interact with a computer? Some folks at Microsoft have been addressing that issue with a project in Bangalore, India. A Computerworld article describes some of the ideas and problems that a team of researchers have experienced with trying to allow users that cannot read or write (including about 50% [...]
Why does the media keep treating us like Eymorgs? In today's technologically advanced world, I think we're smart enough to know what a CPU is for and what it does.
I feel that I should have titled this with "GDC" so it wouldn't get lost in all the other reports from there that have been posted this week.
The National Science Foundation (NSF) has asked for $20 million for funding research into alternatives to current silicon technology. Infoworld reports that promising technologies such as carbon nanotubes and quantum computing would be the recipients of the proposed "Science and Engineering Beyond Moore's Law" program in fiscal 2009. Michael Foster, division director of computing and communication [...]
I wrote about the use or non-use of processors with more than four cores about a year ago. Now that quad-core processors are becoming available and we have a name for processors with more than eight cores (many-core), two UIUC professors, Joseph Sloan and Rakesh Kumar, have written a treatise on the economics of many-core computing. That is, [...]
I was in Beaverton, OR, last week attending an internal Intel briefing on the next big processor architecture begin developed. Since it's got more than 8 cores, we refer to it as "manycore." Since I can't say anything about the processor, I wanted talk about one of the questions that came from the presentations: What [...]
The second-to-last bastion of human game playing may soon be falling into the hands of computers. Artificial Intelligence is one of the great uses for multi-core processors, but is writing programs to play video games just an excuse to get research money in order to support a video game habit?
This is one of the stories that I wanted to comment on a few months ago. However, no matter how squicky I felt, I was even too busy to express my utter disbelief, moral outrage, and perverse curiosity.
I've been absent from the blogs for a few months now. Where have I been? What have I been doing? Who actually cares?
I often find that one of my really great ideas has already been thought up by someone else. In those cases do I rarely find the implementation of that idea is just to reverse of what I had in mind.
A recent on-line article in ICT Results has claims that there is an economic limit to the whole miniaturization of processor technology. The proposed limit is at 16nm or 11nm for wire width. The article assures us that it should be feasible to go beyond this limit, but it might not be practical to do so. From the Intel [...]
What would you do with a supercomputer that can fit in your hand? Would you use it to compute trends in the stock market, predict tomorrow's weather, calculate airflow around your vehicle? Or would you just play Halo 8?
A recent article in Science (Vol. 317, No. 5844, P. 1518) by Schaeffer, Burch, and Bjornsson, announced the completion of an 18-year study of artificial intelligence and deep tree searching. These results prove that the game of Checkers, with perfect play by both sides, is a draw. However, according to the authors, the biggest contribution was the [...]
The Microsoft Task Parallel Library (TPL), part of the upcoming Parallel FX Library, gets a write-up in the October 2007 issue of MSDN Magazine. Reading through the article, I got the strange feeling that I've seen all this before.
I've been hearing about the Storm worm and the network of machines that are infected and, to some degree, under the control of this virus. The article "Storm Worm Botnet More Powerful Than Top Supercomputers" on InformationWeek estimates that millions of computers are part of the zombie grid. One quote says that the power of [...]
Just one more week to go in the Reading for Multi-core contest. Have you found an example of parallel processing or multi-core processors in the books you've been reading over the Summer?
Harvard scientists in the School of Engineering and Applied Sciences (SEAS) have announced the release of software, known as Tribler. This software allows the user to join a peer-to-peer video sharing network. What's different from the Tribler supported network than other video sharing networks or sites? A more centralized site, such as YouTube, has all the costs [...]
Purdue University has announced that it will be investigating a new program within their undergraduate computer science courses. With a three-year grant from the NSF, the project will study how and when to introduce parallel programming concepts and work as early as possible within a student's course of study. It is anticipated that the results of this [...]
I've heard of the Ghost in the Machine. I know about the Buddha-nature in a NULL pointer. But, could we find Him hiding in the bits and registers of your processor?
Back from India, and catching up on my email I found a blog post being circulated for comment. The post was by Graeme Burnett and can be found here. Burnett criticizes the current use of C++ within the software written and used by high finance companies, such as investment banks. His vision of the concurrent [...]
Still in India and, reading through my copy of the Hindustan Times (HT) this morning, I ran across an article that reports a South Korean effort is underway to create the "world's first Robot Ethics Charter" by year's end. South Korea has set a goal to have a robot in every home by 2013. Obviously, [...]
A few years ago, IBM ran a commercial with Avery Brooks (Captain Sisko, Star Trek: Deep Space Nine) complaining about the fact that there were no flying cars and we were all promised flying cars by that time. I'm sure many shared his consternation since we'd been reading about all this cool technology within the [...]
While staying at the Shangri-La Hotel in New Delhi, I was riding up to my room one evening and noticed that the elevators (Otis 300VFE) were being hailed as "The Intelligent Elevator". I thought nothing of this at the time, passing it off as mere marketing hype. One morning as I waited on my colleague to [...]
In the digest that sends me links to interesting online tidbits, the description of a recent ZDNet blog by Mary Jo Foley, provocatively titled What will next-generation multicore apps look like?, made me think it was just going to be another expert wingeing on about the same old things wrong with the current methods of software design [...]
Surprise, surprise, surprise! I actually saw an article on multi-core programming in my local newspaper. I guess it shouldn't be all that surprising since I work in Champaign, IL, home of NCSA and twin city to the birthplace of the HAL 9000 computer: Urbana, IL. We should be getting all sorts of cool technology news. The article discussed a proposed [...]
Well, I guess we've got an answer to one of my nagging questions: what can you do with an 80-core processor that doesn't involve massive amounts of linear algebra? A recent University of Chicago report on the uses of their resident 260-processor Linux-based server cluster, known as Teraport, notes several uses by academics and researchers [...]
Computerworld has published an article listing the 12 skills that IT departments are looking for in job candidates. Always curious about what new jobs are out there or what skills I might need to get my next job, I looked over the list that was put together by "recruiters, curriculum developers, computer science professors and other industry [...]
This tickled me when I read it the other day. A report in the online Wall street Journal blows the covers off a "human computation" scheme. It seems that a professor at Carnegie-Mellon University is getting humans to assign keywords to digital images through the guise of an online game. In the game, two players try to [...]
One last blog on the new prototype supercomputer announced by Prof. Uzi Vishkin and the A. James Clark School of Engineering at U Maryland and I promise I'll go on to something else. Looking for more details on the intended programming model and methods, I downloaded a slide presentationthat Dr. Vishkin gave at a panel during the [...]
* Oh no! another one of Clay's long rants. * I was interested in the details of a new parallel programming paradigm that was being (apparently) heralded as the greatest thing since transistors. After scouring the UMIACS website of Prof. Uzi Vishkin and the XMT (eXplicit Multi-Threading) project that recently announced their first hardware prototype, I [...]
Yet another pioneering effort in the attempt to bring desktop supercomputing to the masses; this time from the University of Maryland. Prof. Uzi Vishkin has announced a prototype supercomputer system with a 64 core chip and motherboard that was designed and built by researchers at the A. James Clark School of Engineering. This is pretty exciting news, [...]
If anything, I thought I might be called on the 'yielding practical results from pure research' claims in my Rubik's Cube entry. In preparation, I was trying to think of some example. Since nothing came immediately to mind, I pondered the possibilities of finding a final solution to the minimum number of moves needed to [...]
Two Northeastern University researchers found that it would take no more than 26 moves to solve any randomly scrambled Rubik's Cube. This beats the previous maximum of 27 moves, which was proven back in 1997. Gene Cooperman and Dan Kunkle will present their findings at the International Symposium on Symbolic and Algebraic Computation in Waterloo, [...]
I found a link to an EDN article on the future of multi-core processor design. What caught my eye was the following: While [multi-core processor design] may be a more efficient model from an energy consumption perspective, programming these devices will be so complex it will make programmers' brains hurt. Intel executives said they don't expect a [...]
The June 2007 issue of MSDN Magazine has an article entitled "Synchronization Primitives New in Windows Vista." The article discusses new threading features included in the Windows SDK for Windows Vista. Two of these features that piqued my curiosity were Condition Variables and One-time Initialization. (I'll let you read about the details and the uses [...]
In a recent CNET news article, Intel Fellow Shekhar Borkar is quoted as saying "Software has to double the amount of parallelism that it can support every two years". Huh? I'm afraid that I found this article through the critique posted on The Inquirer and must say that their evaluation is pretty spot on. To CNET's credit, [...]
Back when I was teaching parallel programming at university, I remember getting questions along the lines of "what if the process doesn't send the message" or "what if the thread doesn't read the value." This all stemmed from the anthropomorphism we use to illustrate the interaction of inanimate objects like threads or processes. I guess [...]
If you're a follower of ICANN (International Corporation for Assigned Names and Numbers), who are in charge of the domain names used across the Internets, you may already have heard about the proposal for creating a .xxx domain reserved for pornographic material. This proposal was defeated for a third time recently. I'm not here to discuss [...]
Over the past few months, there has been a bit of a hue and cry over the fact that the number of college students declaring Computer Science as their major has declined. While science degree PhDs awarded has been on the rise, the front end of the pipeline, at least for CS, is starting to [...]
In a recent online EE Times article about the lack of incoming CS students, down at the bottom of the first page, is an acknowledgement that Microsoft is developing a parallel programming language. From the descriptions in the article, it appears that support for transactional memorywill be needed. The language has adapted database methods for agglomerating several operations [...]
This just burns my biscuits! (No, I'm not sitting on a red hot stove like Yosemite Sam.) I can let some things go by without comment. Interchanging "concurrent" and "parallel" is a minor offense, for example. However, confusing the differences between "speedup" and "scalability" gets me smelling smoke. As a card-carrying Vocabunista (Noah Webster Chapter), I must set the [...]
The final type of code that is not parallelizable is known as loop carried dependence. This is when results of a previous iteration are used in the current iteration. Typically, this situation will be evidenced by references to the same array on both the left- and right-hand sides of assignments and backward references in some [...]
Two items in HPCWire (the article "Our Manycore Future" and the interview transcript "Confronting Parallelism") are touting a recent UC Berkeley EECS Department technical report: The Landscape of Parallel Computing Research: A View From Berkeley. The HCPWire article claims that this report is important "not because it claims to have all the answers, but because it [...]
With all the legacy code we have around (seems kinda funny to think about C++ apps as "legacy" code), we'll be converting serial applications to parallel versions in order for those applications to run effectively on multi-core platforms. We can add explicit threads, OpenMP pragmas, or threading libraries like Rogue Wave's Threads.h++ (is this still available?) [...]
Previously on "What's not Parallel?": Julie had caught Dillon and Becky in a compromising position; Tyler was preparing to make his debut in New York; Copernicus had finally decided to publish De Revolutionibus; and Carol, having drawn the eight of hearts, was just about to go "all in" when the ducks began to thrash around [...]
There seems to be a lot of buzz that has been generated by the article "The Problem with Threads," by UC Berkeley Professor Edward A. Lee, which appeared in the May 2006 issue of IEEE Computer. After reading the article, this Thread Monkey agrees with the conclusions, but he's not sure how soon we might be able [...]
John Hennessy and David Patterson are best known for their book Computer Architecture: A Quantitative Approach(4th Edition, Morgan Kaufmann, 2006). At least they are in the circles that I travel. The ACM publication Queue has published an interview with these CS pioneers. There is also an MP3 version of the first half of the interview that [...]
Ever since the official introduction of the Intel Teraflop chip with 80 cores (octaginta-core?), I've been wondering about how you keep all those cores fed with data. It's not such a trick to imagine what you can do with 80 cores or dream about new kinds of applications that could be brought to the desktop [...]
It's looking like it may be 80. Cores, that is. The New York Times has an article about the upcoming announcement of the Intel Teraflop Chip with 80 cores. The article notes that there are other (specialized) chips with more cores, but this chip would seem to have the most cores for a general purpose chip intended [...]
There has been a shift in the responsibility for delivering faster performing applications. In the past, chip makers have been delivering increases in the clock speed of processors. By doing nothing, ISVs got a performance increase since the CPU executed the same instructions in a shorter amount of time. Now, the number of cores is [...]
I was reading about contests between mathematicians in the 16th Century. Specifically, I was reading about a public problem-solving contest in 1535 where Antonio Maria Fiore challenged NiccolಠTartaglia to solve 30 problems (each devised the problems to be solved by the other contestant) within 40-50 days. Tartaglia solved all 30 problems in two hours [...]
Induction variables are incremented on each trip through a loop. Most likely these are index variables that do not have a one-to-one relation with the value of the loop index variable. For example, consider the following code segment: i1 = 4; i2 = 0; for (k = 1; k < N; k++) { B[i1++] = function1(k,q,r); i2 += k; A[i2] = [...]
I feel like I've been bombarded by transactional memory (TM) items all last week. First I read through an article published in the DEC/JAN 2006-2007 issue of ACM Queue titled "Unlocking Concurrency." Then, I see the HPCWire article that notes even Intel is looking into incorporating TM support in future platforms. After a little TM [...]
Recurrence relations within loops feed information forward from one iteration to the next. Prime examples of this are time-stepping loops and convergence loops. No matter how many tea leaves we read or tarot cards we consult or Magic Eight Ball apps we write, we can't parse out future time steps to separate threads for concurrent [...]
I've seen a web report that stated Intel will be sticking with quad-core processors for a while. If we bend Moore's Law just a tad to fit this situation, it should be another 2 years or so before we could see the advent of processors with 8 cores (octa-core? octo-core? elite 8-core?). There was a [...]
During really long and boring meetings, I've been known to write haiku to keep myself awake. It's not Wordsworth or Longfellow, but it does make it seem like I'm paying attention. I've pulled together some samples here that chart a journey. threads smirk and giggle I hear them bounce between cores; my code unravels threads weave in and out updating [...]
I admit I just don't get it. I'm not a C++ programmer, so the preface to any response you might want to make to my criticisms and questions posed here could be "Clay, you ignorant slut!" I can accept that; I'm speaking, to some extent, from a position of ignorance. When I first heard about [...]
While my wife and I were watching House, M.D. the other night, we were doing shots of Basil Hayden's every time one of the characters said "Hi, Bob." (I must confess, we got a lot more hammered playing this game when Bob Newhart was still on the air.*) We've both been big Hugh Laurie fans [...]
Welcome to the first installment of "What's Not Parallel!" (You were supposed to yell out the name as you were reading, like they do at the opening of "Wheel of Fortune". Please go back and try again. Thanks.) The first example of something that is not able to be made parallel are algorithms, functions, or procedures [...]
The first thing that popped into my head as I sat watching the denouement of War Games was "Why is it taking so long for WOPR to exhaust all of those tic-tac-toe combinations?" I mean, there are only 362,880 (9 factorial) different games that could be played, and that counts all the games that are [...]
At times it seems that Intel is playing the part of Chicken Little (from the fable, not the movie) by running around endlessly pushing the "Multithreading is necessary!" mantra. The other day, Henny Penny, Cocky Locky, and I were rushing around chatting up all the advantages of threading applications to Turkey Lurkey, Goosey Poosey, and [...]
Like every other programming, threading is more of an art than a science. You have to learn what all the tools are and how to use all of them properly. From my own experience with stained glass, you have to know the different types and styles of glass, how to cut and break the glass [...]
What's the rush? Where is it all headed? What's it all about? In 1849 they were headed to California; a few years later, it was Australia; in 1880, they were rushing North to Juneau and the Klondike. If you're reading this you either follow my writing (big shout out to my fans, both of you!) or [...]
I was seeing red all weekend a few weeks ago. Veins on my forehead were pulsing like the drum solo intro to Van Halen's "Hot for Teacher." I was having trouble getting to sleep. I've calmed down, now, but this still sticks in my craw. What had me in such a state? It was all due [...]
Sure, paradigm is one of those "business-speak" words that was popularized in the last decade, like the Macarena and Beanie Babies. It does have entomological roots that go way back, though. The roots of computing go way back, too. If you look up "computer" in dictionaries before the turn of the 20th century, it [...]
I've been busy getting things wound up so that I can take some vacation time. But I thought I'd share these quotes that a colleague recently reminded me about. The first is attributed to Seymour Cray. "If you were plowing a field, which would you rather use: two strong oxen or 1024 chickens?" Obviously, Cray [...]
I've used both POSIX threads (Pthreads) and Windows threads APIs, and I believe that Windows has the better programming model of the two. While each threading method can create threads, destroy threads, and coordinate interactions between threads, the reason I make this claim is the simplicity of use and elegance of design of the Windows [...]
It's never a good time to lose your job. Unless it turns out to be the push you need to go off and do something more worthwhile, more personally rewarding, or offers more money. At Intel, there have been reductions in the workforce over the last few months. In times like this, it's nice to [...]
I keep getting asked about what someone might do to get some background and information on multithreaded programming if they were starting from scratch. This is a list that I send out in response to this question about books I've read or have some opinioin about. (From now on when I get such a request, [...]
I hadn't planned to be continuously posting to this blog. I think my management would be happy with a monthly contribution. I can get behind that level of commitment. Still, when something strikes my fancy or gets my goat, this forum is just sitting here; I might as well make use of it. So, I [...]
Soon after PCs came out, business applications (word processing, spreadsheets, desktop publishing) showed the utility of these new machines and drove sales. Nothing since has made such a big splash. However, everyone still wants to know what the "killer app" will be for any new technology that seems to come down the pipe. It always [...]
[Note: For those of you, like me, that don't really care for long, self-aggrandizing biographies, just skip down to the last paragraph.] Hello. My name is Clay and I'm a Thread Monkey. It's been about two weeks since I've actually written any threaded code. I guess it all started back in my first stint in grad school. One [...]