Domain: umass.edu
Stories and comments across the archive that link to umass.edu.
Comments · 269
-
Re:I can just see the courtroom in 2010
Well it's worse than that of course, and the security holes have been known about for a long time. I actually missed the memo on rfid chips even being put in credit cards (wtf is stupid enough to do that? The security holes are well known) so I typed rfid credit card into google. Almost every one of the top links talks about the vulnerabilities thankfully, and one academic paper pdf is one of the links.
It actually explains why they got popular, since they are contactless and therefore can fail less than swiping cards. It also noted it was the fastest adopted payment technology. Pretty scary, but makes it no surprise why they want to try to quash this. But as far as your lawsuit goes, they can go way before this incident to the cc companies knowing this stuff is totally insecure. That paper is from 2006 and it was known before that. But the best that could be hoped for is a class action lawsuit win where the lawyers get millions and some people get a tiny free visa coupon, just like all class action lawsuits. But since they can hide behind trying to make them secure, that probably won't even happen. -
Still at test-tube scale
Here's the home page of the University of Amherst prof who did this. There's a picture of him holding a test tube of synthetic fuel derived from biomass sugars.
I'd be more impressed if he was standing next to a 5000 gallon tank of the stuff. On a small scale, if you're not worried about cost, you can make just about any hydrocarbon from any other hydrocarbon. It's hard to measure operating costs until the process is scaled up. So I'm skeptical of the cost claims.
-
Re:Wow, they didn't even kill an unborn baby
>>So far as laws against Sodomy and Suicide, and unenforceable laws is concerned, the answer is that they're unenforceable and consequently irrelevant to this discussion.
Our current immigration laws ARE unenforceable. Our economy is currently dependent upon having a ton of illegal immigrant workers. Moreover, much like those sodomy laws, they've never BEEN enforced.
>>Furthermore, I don't really understand how you can call a nation that accepts people from literally every country on the planet as being in any way racist.
http://www.umass.edu/complit/aclanet/USMigrat.html
Granted, this site is hardly unbiased, but it's hard to argue that before 50 years ago our immigration laws were anything but racist. Thus, when people start bringing racism into immigration debates, it might be a good idea to research and consider the history of their argument rather than dismiss it out of hand (even if they don't articulate the issue very well).
>>What I'm trying to get across is that laws will not get changed in any intelligent way unless we stop calling each other names, stop trying to scare each other, and look at what's really going on.
And what I'm trying to get across is that sometimes issues are more subtle than you might initially think, and that what you consider "calling names" might have some actual basis in reality.
To bring this back to stem cells - it's clearly true that right now, nobody is killing fetuses specifically to harvest stem cells. But what if researchers found a miracle cure for, say, cancer that required non-immortalized fetal stem cells? At that point, there's probably a lot more demand for stem cells than can be provided by donated aborted fetuses, and we're stuck with a black market for cloned or (more gruesomely) specifically harvested fetuses. This is the long-term fear when it comes to fetal stem cells, and it's a fear you'd do better to address than to dismiss as hysteria, even when it's expressed in a shorthand manner like "stem cell research kills babies." -
Re:UK commitment to science
The University of Edinburgh has a long history of being at the cutting edge in computing. I worked there in 1972 at the School of Artificial Intelegence under Donald Michie and Robin Popplestone (well, I washed up the coffee cups!)
Of course, if you ask a Scot, then most of the major technological advances of the 19th century were made north of the border and that proud heritage is alive and well today. Sassenachs may differ. -
Re:Laughing? A less happy feeling
You sir, are an pompous ass without a clue-.
I challenge you to find a linguist (Your high-school English teacher who barely graduated college is not a linguist and is most certainly not an authority on language of any kind [except, of course, to her browbeaten high-school students]) who does not agree that a language is 'defined' by usage. Prescriptive definitions arise out of usage, and as the language evolves they quickly become obsolete. Thus while they may serve as useful references for both learning and for identifying universally acknowledged common usages, they most certainly should not be used as authorities for the proscription of usages. Even French, which attempts to be prescriptive [or rather, which the government of one of the nations which speaks it attempts to prescribe] so as to preserve its identity, is de facto if not de jure defined by usage. It is a primary linguistic principle proven by both repeatable experimentation and extensive observation.
See for instance the definitions of gay, nice, ironic etc. from the OED for just a few examples of words whose meanings have evolved significantly over time.
A quick google search would have revealed to you plenty of authorities on the subject.
How about the following two:
The University of Massachusetts at Amherst is hardely "some other dude on SlashDot or GeoCities or IBoughtAnOfficialLookingDomain.org"
The Law Review at Chicago Kent points out (albeit indirectly) the invalidity of your claim specifically with respect to the law -
One of TWO best papers at FASTThis Google paper just appeared at the 5th USENIX Conference on File and Storage Technologies (a.k.a. FAST), the premier conference on file systems and storage. It won one of the best paper awards.
You might be interested in the other best paper award winner (in the shameless self-promotion department): TFS: A Transparent File System for Contributory Storage , by Jim Cipar, Mark Corner, and Emery Berger (Dept. of Computer Science, University of Massachusetts Amherst). Briefly, it describes how you can make all the empty space on your disk available for others to use, without affecting your own use of the disk (no performance impact, and you can still use the space if you need it).
Enjoy!
--
Emery Berger
Dept. of Computer Science
University of Massachusetts Amherst -
One of TWO best papers at FASTThis Google paper just appeared at the 5th USENIX Conference on File and Storage Technologies (a.k.a. FAST), the premier conference on file systems and storage. It won one of the best paper awards.
You might be interested in the other best paper award winner (in the shameless self-promotion department): TFS: A Transparent File System for Contributory Storage , by Jim Cipar, Mark Corner, and Emery Berger (Dept. of Computer Science, University of Massachusetts Amherst). Briefly, it describes how you can make all the empty space on your disk available for others to use, without affecting your own use of the disk (no performance impact, and you can still use the space if you need it).
Enjoy!
--
Emery Berger
Dept. of Computer Science
University of Massachusetts Amherst -
One of TWO best papers at FASTThis Google paper just appeared at the 5th USENIX Conference on File and Storage Technologies (a.k.a. FAST), the premier conference on file systems and storage. It won one of the best paper awards.
You might be interested in the other best paper award winner (in the shameless self-promotion department): TFS: A Transparent File System for Contributory Storage , by Jim Cipar, Mark Corner, and Emery Berger (Dept. of Computer Science, University of Massachusetts Amherst). Briefly, it describes how you can make all the empty space on your disk available for others to use, without affecting your own use of the disk (no performance impact, and you can still use the space if you need it).
Enjoy!
--
Emery Berger
Dept. of Computer Science
University of Massachusetts Amherst -
Re:Vista already doing some of this
Die Hard uses the Flux Capacitor technology.
Man, that's lame even by my standards. -
It's probably...
a lot like the terrain on Baffin Island, another arctic island which underwent intense glaciation in the last ice age - and emerged from it due to slightly milder climate. This picture of Mount Asgard on Baffin Island is likely quite representative of what would be under Greenland's ice. Minus, of course, the moss/lichen/pioneer plants.
-
RFID CUSP Report
Researchers at the RFID CUSP (ConsortiUm for Security and Privacy) published an informative report in October. They show how to build skimmers, describe relay and replay attacks, and how the transaction counter can be used to invade privacy. They show in the current generation of RFID-enabled smart cards there is no mutual authentication between the reader and the card, so it is not difficult to build or buy a reader to scan cards. Track 1, which usually contains the card holder name, is transmitted in the clear. Track 2 is transmitted in the clear, with PAN (account number) in 3 of the 4 types of cards currently being issued. The nominal read distance is 10 cm, but only if the reader complies with the IS0 14443 spec. http://prisms.cs.umass.edu/~kevinfu/papers/RFID-C
C -manuscript.pdf -
Re:so, what this seems to say
http://www.informatik.fh-wiesbaden.de/~gelling/ms
d naa/eula.pdf
http://msdnaa.oit.umass.edu/Neula.asp
No, they're not straight from MS. If you know of some special place that has exact, historical copies of every MS EULA then great, you show me. But absent of that, I have to do the best I can. These may not be signed by Bill himself, but for the purpose I'm using them for they're plenty accurate enough. If you really feel someone doctored these up to make MS look bad then, well, it's your conspiracy theory life.
Secondly, both of the clauses offer additional restrictions to the use of MSDN products for the development of Office software that does not exist for any other type of software. That is the exact nature of the original article, even if it is not the exact same restriction. This, my friend, is called relevancy.
Thirdly, I freely admitted in my second post that I may have gotten some of the details wrong in my first post. You waving your hands and saying, "your first post was wrong!" and "qualify your statements!" a second time is quite redundant. But I was not completely and utterly wrong. I was simply wrong about timeframe and the scope. MS most certainly did place some types of restrictions on developing Office products that was not placed on any other software developed by users of the MSDN. They absolutely did this at some point, even if they don't do it now.
Lastly, get a grip. I was big enough to admit that I was part wrong; what makes you so stubborn you can't admit the same? You are part wrong, at least in as far as claiming that no restrictions of this nature have existed, and especially in saying that there was no veracity to my claim. I can respect the fact that you want to get at the truth, and you succeeded to a great degree. But I can only hope that you respect the fact that I'm trying to do the same, including quite a large amount of success. Life is imperfect, and in that vein I'm quite satisfied with pretty much everything I've posted in this thread.
TW -
Technical Information
As with any news article, it is trying to explain the concepts to a general audience. This always leads to misconceptions about what the technical solutions and problems are. Primarily, DTNs are not designed to "fix" the internet, it is designed to deal with disruptions at the edges, and to deal with challenged networking environments (primarily mobile ones). If you are interested in some technical information (some shameless self-promotion as the DieselNet project mentioned in the article belongs to myself and my colleague).
http://prisms.cs.umass.edu/dome
http://www.dtnrg.org/
If you want to know more, there are a ton of good papers being published in networking conferences on DTNs -
Original research paper
http://prisms.cs.umass.edu/~kevinfu/papers/RFID-CC -manuscript.pdf
gentlemen, start your soldering irons -
FS specifically for Flash & embedded systemsHere's a transactional file system (& more) developed at UMass Amherst that sounds like it might fit your needs. I've boldfaced the key line.
Recent gains in energy-efficiency of new-generation NAND flash storage have strengthened the case for in-network storage by data-centric sensor network applications. We argue that a simple file system abstraction is inadequate for realizing the full benefits of high-capacity low-power NAND flash storage in data-centric applications. Instead we advocate a rich object storage abstraction to support flexible use of the storage system for a variety of application needs and one that is specifically optimized for memory and energy-constrained sensor platforms. We propose Capsule, an energy-optimized log-structured object storage system for flash memories that enables sensor applications to exploit storage resources in amultitude of ways.
Click here for the Capsule site. It's been deployed on a number of very small platforms (including turtles (!)).- Capsule features:
- Capsule provides the abstraction of typed storage objects to applications; supported object types include streams, indexes, stacks and queues. A novel aspect of Capsule is that it also allows composition of objects for instance, a stream and index object can be composed to archive sensed data. The objects expose a data structure-like interface, allowing applications to easily manipulate data.
- Capsule seamlessly supports storage on a multitude of platforms (both NAND and NOR flashes) with the help of a hardware abstraction layer; the same application can be used on any supported platform. Currently we support storage on the following platforms: Mica2, MicaZ, Mica2 Dot, Telos and our custom NAND flash board. However, the use of an abstraction layer allows supporting a new platform a breeze.
- Capsule supports checkpointing and rollback of storage objects, allowing the application to tolerate software faults and device failures. The application state is automatically restored when the device restarts.
- We provide our own file system implementation on Capsule that allows applications using Matchbox and ELF to be ported to Capsule.
- Flash offers a finite storage medium; once it fills up, free space needs to be created before any further data can be stored on it. Basic Capsule objects perform memory reclamation by supporting compaction.
-- Emery Berger, Dept. of Computer Science, UMass Amherst
-
FS specifically for Flash & embedded systemsHere's a transactional file system (& more) developed at UMass Amherst that sounds like it might fit your needs. I've boldfaced the key line.
Recent gains in energy-efficiency of new-generation NAND flash storage have strengthened the case for in-network storage by data-centric sensor network applications. We argue that a simple file system abstraction is inadequate for realizing the full benefits of high-capacity low-power NAND flash storage in data-centric applications. Instead we advocate a rich object storage abstraction to support flexible use of the storage system for a variety of application needs and one that is specifically optimized for memory and energy-constrained sensor platforms. We propose Capsule, an energy-optimized log-structured object storage system for flash memories that enables sensor applications to exploit storage resources in amultitude of ways.
Click here for the Capsule site. It's been deployed on a number of very small platforms (including turtles (!)).- Capsule features:
- Capsule provides the abstraction of typed storage objects to applications; supported object types include streams, indexes, stacks and queues. A novel aspect of Capsule is that it also allows composition of objects for instance, a stream and index object can be composed to archive sensed data. The objects expose a data structure-like interface, allowing applications to easily manipulate data.
- Capsule seamlessly supports storage on a multitude of platforms (both NAND and NOR flashes) with the help of a hardware abstraction layer; the same application can be used on any supported platform. Currently we support storage on the following platforms: Mica2, MicaZ, Mica2 Dot, Telos and our custom NAND flash board. However, the use of an abstraction layer allows supporting a new platform a breeze.
- Capsule supports checkpointing and rollback of storage objects, allowing the application to tolerate software faults and device failures. The application state is automatically restored when the device restarts.
- We provide our own file system implementation on Capsule that allows applications using Matchbox and ELF to be ported to Capsule.
- Flash offers a finite storage medium; once it fills up, free space needs to be created before any further data can be stored on it. Basic Capsule objects perform memory reclamation by supporting compaction.
-- Emery Berger, Dept. of Computer Science, UMass Amherst
-
FS specifically for Flash & embedded systemsHere's a transactional file system (& more) developed at UMass Amherst that sounds like it might fit your needs. I've boldfaced the key line.
Recent gains in energy-efficiency of new-generation NAND flash storage have strengthened the case for in-network storage by data-centric sensor network applications. We argue that a simple file system abstraction is inadequate for realizing the full benefits of high-capacity low-power NAND flash storage in data-centric applications. Instead we advocate a rich object storage abstraction to support flexible use of the storage system for a variety of application needs and one that is specifically optimized for memory and energy-constrained sensor platforms. We propose Capsule, an energy-optimized log-structured object storage system for flash memories that enables sensor applications to exploit storage resources in amultitude of ways.
Click here for the Capsule site. It's been deployed on a number of very small platforms (including turtles (!)).- Capsule features:
- Capsule provides the abstraction of typed storage objects to applications; supported object types include streams, indexes, stacks and queues. A novel aspect of Capsule is that it also allows composition of objects for instance, a stream and index object can be composed to archive sensed data. The objects expose a data structure-like interface, allowing applications to easily manipulate data.
- Capsule seamlessly supports storage on a multitude of platforms (both NAND and NOR flashes) with the help of a hardware abstraction layer; the same application can be used on any supported platform. Currently we support storage on the following platforms: Mica2, MicaZ, Mica2 Dot, Telos and our custom NAND flash board. However, the use of an abstraction layer allows supporting a new platform a breeze.
- Capsule supports checkpointing and rollback of storage objects, allowing the application to tolerate software faults and device failures. The application state is automatically restored when the device restarts.
- We provide our own file system implementation on Capsule that allows applications using Matchbox and ELF to be ported to Capsule.
- Flash offers a finite storage medium; once it fills up, free space needs to be created before any further data can be stored on it. Basic Capsule objects perform memory reclamation by supporting compaction.
-- Emery Berger, Dept. of Computer Science, UMass Amherst
-
Re:want one^h^h^h 1000
You might like one of these then.
-
Re:YMMV: 1.7 times *slower*, not *faster*Some idiot modded the above as a troll, which is way off. But I'll elaborate anyway.
I wrote an application that performs a number of Monte Carlo simulations (if you're interested in why, see DieHard for some idea). Anyway, I chose to write it in Python. The simulator makes intensive use of associative arrays and random number generation. The latter (RNG) is from the standard library, and as for the former (assoc arrays), one would think these would have to be implemented in more or less the same way both in CPython and Iron Python.
Nonetheless, the program runs 1.77 times slower in Iron Python than in CPython! That's not good. It suggests that there is some deep inefficiency either in the interpreter, or in the CLR, or both. Worse, when I use psyco, I get a further speedup of 3x over the original. Where does that leave us? CPython + psyco = roughly 6x faster than Iron Python.
To me, this result substantially undermines the claim that Iron Python is competitve with CPython. A nearly 2X slowdown is not competitive. Moreover, anyone looking to achieve higher performance is going to be using something like psyco, and then we're talking about potentially taking a 6X hit when using Iron Python.
While I'm sure that the
.NET framework adds plenty of interesting functionality for some people, the claim that its performance is competitive strikes me as disingenuous.But perhaps I'm just trolling...
-- Emery Berger
University of Massachusetts Amherst -
Re:YMMV: 1.7 times *slower*, not *faster*Some idiot modded the above as a troll, which is way off. But I'll elaborate anyway.
I wrote an application that performs a number of Monte Carlo simulations (if you're interested in why, see DieHard for some idea). Anyway, I chose to write it in Python. The simulator makes intensive use of associative arrays and random number generation. The latter (RNG) is from the standard library, and as for the former (assoc arrays), one would think these would have to be implemented in more or less the same way both in CPython and Iron Python.
Nonetheless, the program runs 1.77 times slower in Iron Python than in CPython! That's not good. It suggests that there is some deep inefficiency either in the interpreter, or in the CLR, or both. Worse, when I use psyco, I get a further speedup of 3x over the original. Where does that leave us? CPython + psyco = roughly 6x faster than Iron Python.
To me, this result substantially undermines the claim that Iron Python is competitve with CPython. A nearly 2X slowdown is not competitive. Moreover, anyone looking to achieve higher performance is going to be using something like psyco, and then we're talking about potentially taking a 6X hit when using Iron Python.
While I'm sure that the
.NET framework adds plenty of interesting functionality for some people, the claim that its performance is competitive strikes me as disingenuous.But perhaps I'm just trolling...
-- Emery Berger
University of Massachusetts Amherst -
Re:They missed...
Excel is only nice if you've never used anything else to do number crunching. For a start Excel is inaccurate and sometimes downright wrong. Microsoft has known this for a long time and not done much to correct the situation.
The thought that Excel is used to do anything serious involving decision making beyond simple spreadsheet calculations in the real world gives me the creeps. -
Re:NOOOOOOO #@$#$@
>It's also very fast
-sarcasm on-
Excuse me? A reference counting implementation that is fast. Could you please post some links to articles describing this magical algorithm?
-sarcasm off-
Mark-and-sweep GC or copying GC is _always_ faster than doing reference counting.
references:
http://www.hpl.hp.com/personal/Hans_Boehm/gc/issue s.html
http://www.cs.umass.edu/~emery/pubs/gcvsmalloc.pdf
http://en.wikipedia.org/wiki/Reference_counting
--Blerik -
See also: Clustering senators by votes & topic
You might also be interested in another topic model that not only automatically discovers topics, but also automatically discovers topic-specific groupings of the senators by their votes. http://www.cs.umass.edu/~mccallum/papers/grouptop
i c_linkkdd05.pdf "Group and Topic Discovery from Relations and Text."
It uses not only word data (from the text of 16 years worth of bills voted on in the U.S. Senate), but also the senator's voting records.
For example, you can see that Sen. Chafee (R-RI) (who was mentioned on this morning's NPR as a "liberal Republican") actually does fall into a cluster of Democrats, not fellow Republicans. When automatically discovering topics using word data alone (without the votes, as does the wustl.edu paper above) the topics on this Senate data are reasonably coherent, but the topics created by this "Group-Topic" new model are even more interesting because their discovery is driven by the need to predict the votes as well as the words. For example, "Social Security" doesn't appear in the old model, but pops out clearly in the new model because it has such a distinct voting pattern.
Some of the other results are also pretty interesting---on Education and Domestic policy the Republicans are more split than the Democrats (forming 3 groups, to the Democrats 1 group). On other topics, the split is the other way around.
Using the same technique, there is also an analysis of 60 years worth of voting records from the U.N. On the topic of "human rights", Nicaragua, Papua, Rwanda, Swaziland and Fiji all get clustered together---ouch! -
Re:When speed matters
I'll take the bait. When Java was introduced in 1995 almost all compiler research had been on static compilation, such as in C or Fortran. When the popularity of Java started to rise a lot of research effort, such as at IBM, was switched over to Just In Time (JIT) compilers. This was a pretty raw field at the time so the Java was horribly slow compared to C.
Fast forward 11 years and the situation is quite different. I'm not sure about the Java compiler that comes distributed with the SDK, but a JIT compiler and virtual machine from another commerical sourse (I'll just stick with IBM) is now incredibly optimized compared to 1995. Large amounts of research have been done to catch up with the fact that statically compiled languages had a 30+ year headstart. And JIT compiled languages could one day be faster than a statically compiled one due to new dynamic compilation techniques that use system resource data, such as cache misses, collected by the VM to continuously reoptimize portions of the byte code.
And even the overhead of garbage collection may soon be lowered dramatically due to research at the University of Massachusetts http://www.cs.umass.edu/~emery/pubs/f034-hertz.pdf
I'm not going to say that Java is faster than C (or in this case Perl, a language specifically designed for parsing regular expressions), but the speed gap between the two is constantly closing to the point where it doesn't really matter that much anymore. -
Re:The point of visualization
As someone that has actually written software to help researchers analyze complex proteins, I have to agree that the image presented in TFA does not appear to display any meaningful data. In fact, you can get prettier and more meaningful pictures from RasMol (freeware; I'm not affiliated with RasMol). 3D is fun for exploring, but you have to take it down to 2D if you want more meaningful standalone graphs.
-
Don't pick any - pick them all with Flux
We recently developed a programming language system called Flux that we presented at USENIX this June that addresses exactly this problem. Flux is a domain-specific language for building server applications from serial C and C++ components. The compiler then generates event-driven or multithreaded code -- it's just a compiler flag and a different runtime system. You as a programmer do not deal with the nitty-gritty details of managing concurrency. Moreover, Flux can optionally generate a simulator that lets you load-test your app before deployment in order to isolate bottlenecks. We've built four servers so far in Flux - including the web server hosting Flux, and a BitTorrent seed - and its performance matches or exceeds that of hand-tuned high-performance servers. It's still a prototype system, but worth checking out.
-- Emery Berger
-- Assistant Professor
-- Department of Computer Science
-- University of Massachusetts Amherst -
Don't pick any - pick them all with Flux
We recently developed a programming language system called Flux that we presented at USENIX this June that addresses exactly this problem. Flux is a domain-specific language for building server applications from serial C and C++ components. The compiler then generates event-driven or multithreaded code -- it's just a compiler flag and a different runtime system. You as a programmer do not deal with the nitty-gritty details of managing concurrency. Moreover, Flux can optionally generate a simulator that lets you load-test your app before deployment in order to isolate bottlenecks. We've built four servers so far in Flux - including the web server hosting Flux, and a BitTorrent seed - and its performance matches or exceeds that of hand-tuned high-performance servers. It's still a prototype system, but worth checking out.
-- Emery Berger
-- Assistant Professor
-- Department of Computer Science
-- University of Massachusetts Amherst -
Re:portable server advice
Yes, whatever logs you have go better onto a ram drive (you can make a script that syncs the ramdrive with the flash or the HD if you want - just make sure it doesn't happen very often)
RAID for USB devices is overkill, IMHO - you can buy a pretty cheap stick in the order of 1-2 GB (under $50). Also, depending on which type of RAID you set up, all nodes may get written to every time (striping RAID) which makes the MTFB fall incredibly fast (and you want to keep MTBF as high as possible, especially for a server)
Just re-read the OP: if all you need is dns/web, consider getting a linux-ready router. For example WRT54G is/was a very nice modifiable one and has really low power requirements (compared to a laptop) - even lower if you disable the wireless connection. Doubt it has the nx-bit support, but do you really need it? NX-bit is there to prevent buffer overflow attacks - which only apply if data can be passed to the server. If you only use DNS and web browsing, you're reasonably safe from those.
Or if you want to go the way of mini-itx.. why stop there? go right for the micro-atx, or better yet Match Head Server :) -
Progress!
It looks like I'm going to have to admin a lab of Linux boxes soon, and I'm pleased with the progress that is coming on the nebulous "Linux desktop".
Although, both Gnome and KDE are still 90'ish, at least Gnome is now knocking off OS X instead of Windows.
Now, for the confusing part. Why was their previous allocator so lame compared to malloc()? Its worth a read to check out this for an allocator. Being that multi-core/"threads"/CPUs are pretty common today, its worth using that to one's advantage. -
Replace the memory manager
If what you want is stability, you must replace the memory manager. This requires no change to your code; there are several plug-in replacements. You can use a conservative garbage collector to get rid of memory leaks. Another possibility -- in the self-plug department -- is to use DieHard, which eliminates a wide range of memory errors and even defends against heap overflows and other heap corruption. Pick whichever works best for your needs, but pick one. You will not get stability and reliability with C++ if you stick with the default memory manager.
-
probabilistic memory safety (DieHard)
You may find DieHard useful, if heap errors are also a problem -- it's a plug-in replacement for malloc/free that provides probabilistic guarantees of correct execution in the face of errors.
http://www.cs.umass.edu/~emery/diehard
-- emery -
NPR Participant
Hi,
I was the winner of NPR's Sunday Puzzle a few weeks ago that he refers to on his website. I used a program to find the best grid. As he states, there was only one 3x3 grid that has ALL 2-letter elements in it (which Will Shortz seemed to know even though I didn't tell him).
Anyway, he is right that it takes a very long time to generate all the grids when you go above 3x3. An easier problem is generating all possible Word Squares. I did this a few weeks ago after being motivated by the previous Slashdot post about a 10-letter word square. It's much easier to narrow down the Depth First Search in this situation (every row is the same as every column). I used C++.
Interestingly enough, not only are there no 10-letter word squares, there are no 9-letter ones either. And, there are only five 8-letter word squares.
A distribution of the results as well as the 8-letter squares can be found here.
Jeff Terrace -
VM aware GC
A paper I've found interesting is on a GC which communicates with the VM systems to avoid putting too much load on the VM system.
It needs a modification of the VM, but IMHO this is better than having to handtune the memory used by the GC. (Note: I'm not an expert in GC)
http://www.cs.umass.edu/~emery/pubs/04-16.pdf -
Smallest IP device
Here is the
/. article: http://slashdot.org/hardware/99/07/31/1654210.shtm l and a page about it: http://www-ccs.cs.umass.edu/~shri/iPic.html -
More evidence of excel errorsI assume I was modded troll by someone who didn't realize something from Redmond can contain mistakes. F/OSS also has errors, but one hopes they can get fixed. Which is what the first link said--Gnumeric replicated errors of Excel and, when statisticians complained, Gnumeric got fixed & Excel didn't.
For those interested in Excel errors, here are other sources:- Problems with Using Microsoft Excel for Statistics
- Fixing Statistical Errors in Spreadsheet Software: The Cases of Gnumeric and Excel
- Using Excel for Data Analysis
- Statistical Flaws in Excel
- On the Accuracy of Statistical Distributions in Microsoft Excel 97
- On the Reliability of Microsoft Excel XP for Statistical Purposes
- Use of Excel for Statistical Analysis
- Reliability of Statistical Procedures in Excel
- Association of Statistics Specialists Using Microsoft Excel
- Statistical Analysis Using Microsoft Excel
-
Re:Quantifying the Performance of GC vs. mallocThanks for your comments. I agree that the core result -- GC requires a substantial amount of space to reduce the frequency of collections, otherwise performance suffers -- shouldn't be surprising, but the existence of articles like the IBM one suggests otherwise...
I do have a few comments about your comments, though. First, I don't understand your objection to the insertion of frees. This just simulates the effect of the programmer invoking free. We examine two cases: (1) where the free calls are as early as possible -- the last use of an object and (2) where the calls are as late as possible -- the last time the objects are reachable. This brackets the range of programmer behavior. We measure both cases. Both choices of when to free objects turn out to have surprisingly similar performance results, and in any event, all of the garbage collectors require a lot of space to reduce GC frequency (roughly 5X before runtime performance matches malloc/free).
As for the tools used -- you work with the best you have available. That said, this is a pretty comprehensive study on a reasonably solid platform, though all the collectors are stop-the-world (all threads stop during collection). Concurrent GC is slower than non-concurrent GC, so including concurrent collectors wouldn't alter our results. However, parallel stop-the-world collectors would speed tracing (computing the root set is not the problem). We couldn't test such collectors because of infrastructural limitations, but we definitely want to revisit them later.
One note: you shouldn't read our study to suggest anything about compile-time garbage collection beyond the fact that it basically changes the time-space tradeoff (it won't make programs faster when running in plentiful RAM). The oracles used to guide free calls are derived from profiling, not from static analysis. Escape analysis is great for reducing contention in the presence of multiple threads, but it's likely to be of limited value when you have generational collectors (insight: it only captures short-lived objects, precisely what generational collectors already handle superbly).
Emery Berger
Asst. Professor, Dept. of Computer Science
University of Massachusetts Amherst -
Quantifying the Performance of GC vs. mallocWhile I find it difficult to argue with people who disagree with GC's software engineering benefits - which seem obvious to me - I have to say that I think the author of this article is missing the point. GC might well squeeze a few less instructions out of the allocation sequence, though this is not necessarily true for some well-tuned allocators.
But the allocation sequence isn't the bottleneck -- it's all about the actual garbage collection itself. GC can be costly in terms of cycles and, if you're unfortunate enough to be running in low physical memory, page faults. The reorganization of memory may improve application locality, but that may not be enough to buy back the performance penalty.
Rather than try to argue the case with hand-waving, my student Matthew Hertz and I performed experiments on an infrastructure that lets us replace garbage collection with malloc/free in Java programs so we can quantitiatively compare the cost of garbage collection. Our paper, to appear in OOPSLA 2005, shows that a good, generational copying garbage collector can match or slightly beat the performance of malloc/free -- but this requires 5X as much memory as the allocator. It's a classic space-time tradeoff. On the other hand, if you don't have enough RAM to hold the entire heap, though, garbage collection runs tens or hundreds of times slower.
--
Emery Berger
Asst. Professor, Dept. of Computer Science
University of Massachusetts Amherst -
Quantifying the Performance of GC vs. mallocWhile I find it difficult to argue with people who disagree with GC's software engineering benefits - which seem obvious to me - I have to say that I think the author of this article is missing the point. GC might well squeeze a few less instructions out of the allocation sequence, though this is not necessarily true for some well-tuned allocators.
But the allocation sequence isn't the bottleneck -- it's all about the actual garbage collection itself. GC can be costly in terms of cycles and, if you're unfortunate enough to be running in low physical memory, page faults. The reorganization of memory may improve application locality, but that may not be enough to buy back the performance penalty.
Rather than try to argue the case with hand-waving, my student Matthew Hertz and I performed experiments on an infrastructure that lets us replace garbage collection with malloc/free in Java programs so we can quantitiatively compare the cost of garbage collection. Our paper, to appear in OOPSLA 2005, shows that a good, generational copying garbage collector can match or slightly beat the performance of malloc/free -- but this requires 5X as much memory as the allocator. It's a classic space-time tradeoff. On the other hand, if you don't have enough RAM to hold the entire heap, though, garbage collection runs tens or hundreds of times slower.
--
Emery Berger
Asst. Professor, Dept. of Computer Science
University of Massachusetts Amherst -
Re:Slowdown?timely article. just before this article appears at a conference next month to debunk it:
http://www.cs.umass.edu/~emery/pubs/gcvsmalloc.pd
f on Quantifying the Performance of Garbage Collection versus Explicit Memory Management.very cool experiment that simulates replacing garbage collection in Java with malloc and shows (a) GC can (barely) be as fast as malloc and that (b) it takes around five times as much memory to get that performance and (c) if you have paging, you're toast. also those studies cited by the IBM guy are ancient (1993, 1994)...
-
Re:What you want...
-
Re:Um, Stallman is an American
I meant to type Tannenbaum, damnit.
(you can get Minix for free here by the way.) -
Re:The Core Philosophical Question
Actually you're incorrect - there are a number of people who are pro-abortion who believe the fetus's status as a human being isn't important.
The argument comes from this article which makes some very important points:
http://www-unix.oit.umass.edu/~cheathwo/Phil160,Fa ll02/thomson.htm
It points out that a person's right to use their own body in most circumstances outweighs the 'right to life'. This might sounds absurd at first, but read the article; it sets out some interesting arguments... -
Re:Read all about it
Read the primary sources (e.g., letters from Barton to the Mann et al., their replies) here:
http://www.geo.umass.edu/climate/bartonletter.html
Judge on the original sources rather than on editorials or secondary news reports. -
Re:knee deep in garbage
That depends highly on the particular program and garbage collector, and probably isn't true in the general case. But in any event, there was a really good paper at this year's PLDI about how to make garbage collectors avoid paging that's well worth reading.
-
OT Clarification of byte-order
Nitpick: All architectures I know of have the same bit order (please correct me if necessary). What you mean, I think, is little-endian versus big-endian (see http://www.cs.umass.edu/~verts/cs32/endian.html ), which is actually *byte* order.
Sorry, sorry, I'm leaving now ... -
QuASM
-
Re:knowledge is power
"Established scientific journals are actually of great value, because what is published in these is supposed to be rigorously reviewed by other experts in the field."
First, the peer review before publishing is very weak when compared to the review by other articles. Second, it is done for free. So, what is stopping someone with as much power as a government to do the review?
"And the fact that the information is not "free" does not mean that the information is closed off to the public. It just means that you (or your university, company etc.) need to contribute a small amount to part of the scientific process in order to access it."
$1,000 a year is a lot of money to several people, and with that, you can only get a few periodicals. If you buy then on paper basis, you'll end up spending up to $30 a paper and only having the opportunity to see if it is usefull after you spent the money. The information is closed.
"Anyone who has ever written a scientific article knows that citing something you've pulled of some internet site does not carry much weigth."
What is "some internet site"? The IEEE repository is a internet site. Try searching this book (published on "some internet site") on google scholar and see how many people cite it:
http://www-anw.cs.umass.edu/~rich/book/the-book.ht ml
-
A Real Automated Bartender
If you want to see a real automated bartender, see http://www.ecs.umass.edu/ece/sdp/sdp04/ganz/. These guys put a lot of time and money into their design, and it rocks the one from cornell pretty hard. I saw it in action last year, and it was sweet.
-
Re:What would it include?
when its possible to write a tcp/ip stack+web server on a 4mhz, 8 pin uC, what kind of computer can't access the net exactly?
-
Re:Bill buys Apple?
I worked in a building *owned* by Coke, and we were not even allowed to have a Pepsi machine on our floor.
I went to a university "owned" by Coke, and we did not have a Pepsi machine anywhere on the one-square-mile campus.