By: dmcq (dmcq.delete@this.fano.co.uk), June 30, 2022 3:17 am
Room: Moderated Discussions
Kester L (nobody.delete@this.nothing.com) on June 29, 2022 1:49 pm wrote:
> https://queue.acm.org/detail.cfm?id=3534854
>
>
>
> Your thoughts on this article? I was under the impression that a lot of the 80s attempts
> at capability machines (or really, anything that wasn't trying to be a glorified PDP-11)
> floundered because of performance and cost issues (i.e. the Intel i432).
What they're describing sounds like what the Burroughs large systems did. Very nice I think and definitely far fewer bugs than other systems - but real problems with dealing with large arrays. I don't think we can really avoid paging. CHERI at least wouldn't suffer from that problem. And nowadays it's easier to stick in some error checking in parallel - the only real overheads are the size of the capabilities compared to pointers and having more checkpoints in the pipleline for possible errors. And unfortunately any change nowadays will have to be evolutionary with bits being replaced in the system rather than just designing and implementing a complete new system like Burroughs did.
> https://queue.acm.org/detail.cfm?id=3534854
>
>
> The linear address space as a concept is unsafe at any speed, and it badly needs mandatory CHERI
> seat belts. But even better would be to get rid of linear address spaces entirely and go back to
> the future, as successfully implemented in the Rational R1000 computer 30-plus years ago.
>
>
> Your thoughts on this article? I was under the impression that a lot of the 80s attempts
> at capability machines (or really, anything that wasn't trying to be a glorified PDP-11)
> floundered because of performance and cost issues (i.e. the Intel i432).
What they're describing sounds like what the Burroughs large systems did. Very nice I think and definitely far fewer bugs than other systems - but real problems with dealing with large arrays. I don't think we can really avoid paging. CHERI at least wouldn't suffer from that problem. And nowadays it's easier to stick in some error checking in parallel - the only real overheads are the size of the capabilities compared to pointers and having more checkpoints in the pipleline for possible errors. And unfortunately any change nowadays will have to be evolutionary with bits being replaced in the system rather than just designing and implementing a complete new system like Burroughs did.