See? Patents do help foster innovation!
See? Patents do help foster innovation!
Posted May 1, 2009 14:02 UTC (Fri) by dion (guest, #2764)Parent article: KSM tries again
I makes me quite happy to see that there was a way around the patent problem this time, although it would be helpful to be able to disable patent encumbered features or enable workarounds only when the software happens to be running in a non-free country.
Maybe all of the patent nonsense could be done away with simply by making it the responsibility of the patent owner to spot and warn of infringements and make it impossible to collect any damages until after a reasonable period has passed without action.
Posted May 3, 2009 7:38 UTC (Sun)
by dlang (guest, #313)
[Link] (4 responses)
that being said, I think that a very good case could be made for an explicit exception for the case of open-source software, where any author of open-source software can post a copy of their code to a site (or a list of sites), and companies then have X amount of time to protest the use of any patent in code posted there. give the author of the opensource code immunity for any use prior to any notice being delivered and you will have authors willing to post there.
I'm sure that companies would quickly spring up offering the service of investigating this code looking for patent violations (I'm also sure that most of them would not begin to be able to do the job, but that's their, and their clients problem to deal with ;-)
Posted May 3, 2009 11:32 UTC (Sun)
by dion (guest, #2764)
[Link] (3 responses)
However, "immunity until notified" for published works would be a very fair deal for everyone, especially the society that allows patents, because publishing is exactly what patents are supposed to encourage.
Posted May 3, 2009 12:41 UTC (Sun)
by dlang (guest, #313)
[Link] (2 responses)
can you give an example of any country that did not have patent laws producing anywhere near the number of new things that are produced by the US?
unfortunantly there is no example to go by to counter this.
all that can be done is to look at history and note the number of things that we done by one person or group, and then lost over time to be rediscovered by another group many years later. the patent system is supposed to prevent this by getting these people to disclose 'enough details so that a person ordinarily skilled in the field can duplicate the invention'
In my opinion, the big problem is that the bar for getting patents is just too low. it used to be that you had to provide a working model of the invention to be inspected and see if it matched up with the patent. that's not done anymore, and many patents are for things that just don't work. the patent is also only supposed to be granted for things that are 'not obvious to a person skilled in the field', that is not being done (especially in the computer field) and this leads to far too many patents.
then you get into the problem that
Posted May 3, 2009 13:27 UTC (Sun)
by dion (guest, #2764)
[Link] (1 responses)
If there is any great advantage to having software patents then the US and Japan should be leading the world in software innovation.
Posted May 3, 2009 14:26 UTC (Sun)
by dlang (guest, #313)
[Link]
I don't think that there is anyone who would claim that software patents are currently working correctly.
Posted May 3, 2009 14:33 UTC (Sun)
by lemmings (guest, #53618)
[Link] (6 responses)
No, what vmware is doing is not stupid. The security "concern" is not a
The result of the KSM hash avoidance _will_ be a slower, less scalable
Posted May 3, 2009 15:00 UTC (Sun)
by dion (guest, #2764)
[Link]
Posted May 8, 2009 9:34 UTC (Fri)
by muwlgr (guest, #35359)
[Link] (4 responses)
Contrary, when you compare pages by their contents right from the start, in most cases you could find differing pages quite quickly, by reading only their first few bytes. You have to read two whole pages only to find out that they are identical. And this is done without mathematical overhead of hash calculation, remember. So your memory traffic is 100% only for those pages that happen to be identical. For pages that are different pairwise, you usually have to read only a small part of them to find that. With random contents of the pages, you stop comparing them on the first byte in 255/256 cases. On the fourth byte (32-bit word), in (2^32-1)/2^32 cases. In Linux case, there could exist differing pages with longer common prefixes, but I think this prefix will be shorter than half of page length often enough. So for differing memory pages you most probably don't get 100% of memory traffic anyway. I clearly see why simplified approach of KSM could have its benefits.
Posted May 8, 2009 10:50 UTC (Fri)
by efexis (guest, #26355)
[Link] (3 responses)
Posted May 8, 2009 14:19 UTC (Fri)
by nix (subscriber, #2304)
[Link] (2 responses)
Posted May 15, 2009 19:43 UTC (Fri)
by nevyn (guest, #33129)
[Link]
Posted Nov 17, 2009 16:03 UTC (Tue)
by gmatht (guest, #58961)
[Link]
This is clearly very inefficient, as this simple algorithms needs exactly
Another approach would be to make use of the fact that if say, we know all
See? Patents do help foster innovation!
See? Patents do help foster innovation!
See? Patents do help foster innovation!
See? Patents do help foster innovation!
See? Patents do help foster innovation!
See? Patents do help foster innovation!
concern. One simply does a memcmp on pages which have a matching hash.
identical page scanning mechanism. The stable/unstable lists optimisation
is orthogonal to the use of hashes.
See? Patents do help foster innovation!
See? Patents do help foster innovation!
If you want to just compare two pages then yes, that may be true. It starts to break down though when you want to compare a page with, say, ten thousand other pages. Comparing a hash with ten thousand other hashes is going to be quicker than comparing a page with ten thousand other pages (your argument of only needing to scan the first x bytes of a page before likelyhood of finding differences holds up also when comparing hashes). If that speed increase comparing hashes outweights the time spent hashing the pages to begin with, then you are losing speed by not hashing. Of course it's not this simple; optimised sorting/indexing algorithms means you don't have to compare every page with every other page to rule out matches (as you also wouldn't have to compare every pair of hashes). For example, what's the effects of reading from all these pages many times as opposed to smaller hashes on the CPU memory cache going to be?
See? Patents do help foster innovation!
I think in this case, testing and observation are going to be important, it's near impossible to speculate - with the dynamicness of potentially millions of memory pages spread across similar to disparate virtual systems - what the comparitive results of the two different methods will be.
See? Patents do help foster innovation!
page (one cacheline) and then use that partial hash to eliminate the
majority of pages from comparison. (But this obvious solution, which took
less than five seconds to think of, may be patented. Bleah.)
See? Patents do help foster innovation!
We can avoid reading the whole page for each comparison, even in the worst case.
right edge is labelled 1. Whenever we read a bit from the page we follow the
edge with the label of the bit. So for example, if we look for the zero page
in the tree then we navigate to the leftmost child node.
(4096*8) branches to find any page. However we read the page exactly once
for all comparisons. And we can optimize it, e.g. if we have a chain of
nodes with only single children we can merge them into a single edge.
child pages of the current node start with "Foo" we don't need to compare
the first 3 characters anymore. As such, we'd usually only have to access
each cache-line once.