wrstscrnnm6, to programming
@wrstscrnnm6@mastodon.social avatar

I was getting an error "failed to allocate XXXXXX b"

I copy the number into wolfram alpha to see how much data that really is.

5.3 Zettabytes.

How the hell is this program trying to allocate the equivalent of ... all of the data sent over the internet in a year, five times over?

Somewhere between my terminal and the browser the string of numbers got doubled.

Never have I been so relieved to find out my program was only trying to allocate 53Gb of ram.

wrstscrnnm6,
@wrstscrnnm6@mastodon.social avatar

With a few tweaks I got this working on my desktop. A 16 character puzzle computes in 195s. But it does in-fact use a ton of memory.

like, around 124Gb of ram.

lesblazemore, to mastodon
@lesblazemore@mastodon.social avatar

I feel that #Mastodon really needs to fix #threading I don't want to see the reply without the leading #toot for context.

Social networks are about #communication the reply without the original post is all but useless, but with the #context it could be gold

cincura_net, to random
@cincura_net@mas.to avatar
alvinashcraft, to dotnet
@alvinashcraft@hachyderm.io avatar
HoffmanLabs, to VintageOSes

The following paper on the problems with non-scalable locking designs certainly explains some of the empirical (and app-dependent) behaviors observed with OpenVMS on larger Alpha and Itanium multiprocessors.

This is mostly OpenVMS on Alpha and Itanium multiprocessors, and now on x86-64 multicore designs, as VAX 9000 (Aridus) topped out at four (scalar) processors, and other later (and much more affordable, as compared with Aridus) VAX multiprocessors got to six or maybe eight processors.

In decades past, app performance on OpenVMS multiprocessors fell off pretty quickly starting around eight processors (or eight cores, more recently).

With the work that went into OpenVMS itself to break up spinlocks and to reduce related synchronization overhead, and with apps becoming more cognizant of NUMA hardware (where available), maintaining app performance on sixteen processors (cores) became more commonly feasible.

OpenVMS spinlocks are a somewhat simpler design than the ticket spinlocks Linux is currently using, too.

But somewhere along the path of adding more processors to scale app performance, Cache Coherency and Amdahl’s Law do come to visit, and performance craters.

https://people.csail.mit.edu/nickolai/papers/boyd-wickizer-locks.pdf

#OpenVMS #history #History #retrocomputers #retrocomputing #digitalequipmentcorporation #DEC #VAX #Alpha #Itanium #x86 #Linux

HoffmanLabs,

@jfmezei Spinlocks, bitlocks, and interlocked queues are underneath most everything within OpenVMS.

The lock manager, the distributed transaction manager, and asynchronous system traps (ASTs) all synchronize their critical paths with these same primitives.

Apps and other OpenVMS services then use the locks provided by the lock manager for coordination, and ASTs for some (limited) asynchronous processing.

ASTs are a subset of threading, where a single process can have at most two threads (mainline non-AST-mode, and AST mode), and only one of these two can be active at a time. ASTs are fundamentally tied to a processor, as well. I’ve done a lot of AST-driven apps, particularly those using hibernation.

An aside for bug avoidance (read: learn from my mistakes): If you chose the AST-driven $hibernation/$wake design (which works very well), do remember to also issue a $schdwk scheduled wakeup call to un-stick a potentially stuck app, should a $wake call get lost somewhere. Multiple parallel $wake calls will get coalesced into one, and of course $wake calls can arrive at any time, among other wrinkles. Having a periodic wakeup call will unstick any potential race conditions.

Contrast ASTs with OpenVMS KP threads (KP threads are the underpinnings of pthreads), which allow the same app and its address space to be scheduled across multiple processors entirely in parallel.

if you’re interested in threading and such, also have a look at Apple GCD / libdispatch and blocks, as well:

https://apple.github.io/swift-corelibs-libdispatch/tutorial/

I very much would have liked to have had something GCD-like available on OpenVMS, having implemented similar queued designs (absent blocks, which are also tied into compiler support) on many occasions.

#OpenVMS #multiprocessing #threading #Apple

dynamic, to UI

How about if we take some time off from talking about Threads (TM) the Instagram/Facebook/Meta App, and instead talk about the best for displaying and building a conversation on the internet?

dynamic,

To my way of thinking, the way conversation #threading works on #Mastodon and #Twitter is dead wrong.

dynamic,

The upshot of the #threading interface that Mastodon inherited from Twitter is that, while it is straightforward to post an essay or rant as a sequence of toots, it is not at all straightforward to follow any conversations that it generates.

dynamic,

A hypothetical #Mastodon client that approached #threading in the way that I suggest could take things a step further by automatically collapsing (hiding) subthreads, so that people can choose whether to view those replies (again, in place) or not.

Unfortunately, trying to organize a Mastodon thread with all toots as replies to a single top-level toot results in an incoherent thread view on the default web client and (as far as I know) all other existing clients.

dynamic,

So, in our current world, in which conversation platforms are accessed by diverse clients, there are real barriers to client diversity in how #threading is handled.

This isn't just a #Fediverse issue, but applies to any protocol that can be accessed through independently developed clients.

ricardoharvin, to iOS
@ricardoharvin@mstdn.social avatar

Giving @IceCubesApp a try; app number 4 or 5 I'm testing.

The one I've used the most, @tooot, has become glitchy and slow, and doesn't have everything I want, but was the best so far.

I paid for @tootapp, which is also not feature-complete for my preferences, and the dev posted soon after I paid that they're too busy/disinterested to accept or implement user requests (wtaf?)

This app may be most feature complete (threading?)

🤞🏿

ricardoharvin,
@ricardoharvin@mstdn.social avatar

@IceCubesApp @tooot @tootapp

Ok, so no in , it seems. I've only found that in !, so far.

NudelnAlDente, to random
@NudelnAlDente@mstdn.social avatar

Fuck me, MS #Teams has never been a great product but forcing channels to sort newest to oldest while chats stay oldest to newest is a new low. And no option to turn it the fuck off. 🙄

kkarhan,

@NudelnAlDente shit like this is why I can't use #Teams at all.

It's like all the worst features of #Mattermost & #Slack got combined with no redeeming qualities...

Whereas #Zulip at least is consistend and does #Threading very welll...

roygreenhilt, to reddit

So it sure looks like is going to eat itself in the next week or so. The recent AMA from the CEO pretty much shows they are going the Twitter route. Trying to monetize a platform in a way that's going to drive the users away from it.

I had hoped that would be the thing that could replace both Reddit and Twitter, but without a federated model, or proper , or similar tools, it's not going to work.

So where y'all going?

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • mdbf
  • ngwrru68w68
  • modclub
  • magazineikmin
  • thenastyranch
  • rosin
  • khanakhh
  • InstantRegret
  • Youngstown
  • slotface
  • Durango
  • kavyap
  • DreamBathrooms
  • megavids
  • GTA5RPClips
  • tacticalgear
  • normalnudes
  • tester
  • osvaldo12
  • everett
  • cubers
  • ethstaker
  • anitta
  • provamag3
  • Leos
  • cisconetworking
  • lostlight
  • All magazines