In response to Tobba
Tobba wrote:
ARM has quite a few restrictions on data alignment, chances are the codebase violates every single one of them.

That does sound likely!
In response to Tobba
Tobba wrote:
ARM has quite a few restrictions on data alignment, chances are the codebase violates every single one of them.

I can't say I've ever explicitly bothered with alignment, or relied on a specific memory layout for (de)serialization, but to each their own.
In response to Tobba
Tobba wrote:
ARM has quite a few restrictions on data alignment, chances are the codebase violates every single one of them.

BWAHAHAHAH. 15+ years of ARM ASM over here sir, this is the most nonsensical statement I've ever heard. Sure the restrictions exist, but we've worked around them for well over a decade. No current or past GPU would work under ARM architecture otherwise.
this is the most nonsensical statement I've ever heard.

@Khyber: Tobba is one of the three people here where if you contradict them, you are gonna get your ass handed to you. Unless you want to get publicly demolished, you best leave that stone unturned.

Fair warning.
In response to Ter13
Ter13 wrote:
this is the most nonsensical statement I've ever heard.

@Khyber: Tobba is one of the three people here where if you contradict them, you are gonna get your ass handed to you. Unless you want to get publicly demolished, you best leave that stone unturned.

Fair warning.

Sounds like a threat more than anything o-o
But if Khyber is correct, why not support his statement if the former is false?
In response to Ter13
Ter13 wrote:
@Khyber: Tobba is one of the three people here where if you contradict them, you are gonna get your ass handed to you. Unless you want to get publicly demolished, you best leave that stone unturned.

Fair warning.

He may be quite right, and certainly has more experience with ARM than I do. However, I'm not sure if he's aware what kind of horrorshow the internals of BYOND are. I'm almost certain it constructs many in-memory structures without the compiler having any say in the layout, and I quite frankly have no clue if GCC could deal with accesses to those.

I've been wrong before and will be again, I'm not sure you would warn against a fair argument.
In response to Tobba
GCC can deal with anything because Richard Stallman, that's why.

https://rms.sexy/
What I was getting at, is that Tobba knows more about BYOND than just about anybody here. She's poked the internals as deeply as anyone.

So the thing is, the ARM port of DM might not be entirely feasible even if possible. Khyber might well be very experienced with ARM, but BYOND depends heavily on quite a lot of legacy stuff like GDI. Porting it to ARM would be non-trivial.

What I think Tobba was getting at, even if it were possible, whether or not it would be feasible for a single developer who has next to no chops with ARM to do is really the question, because much of BYOND's internals are still very much based in legacy code.
The backend doesn't need GDI and the backend is what's portable, but Tobba is right about the internals. I don't know how much the alignment issue would come up. I will say that in a couple of places I've tweaked struct setup to be able to use alignment tricks, like doing a 32-bit comparison on two 16-bit values.
The backend doesn't need GDI

Was using it as an example of how backdated a lot of the stuff in the codebase is. Was never designed with ARM architecture in mind, so there's probably an awful lot of stuff buried in the guts that one lone dev with no prior ARM experience probably isn't going to be able to tackle in a short time.

I can only speculate at what's going on under the hood in the server. The only two parts I really even remotely understand are the scheduler and the general data model.
Also, maybe I'm just too old for this shit, but is an ARM-based server ever going to be a benefit to any BYOND user?

Maybe it's just me being out of touch or I'm just not understanding the conversation, but why do an ARM build at all? Seems to me the market is too small, and the strength of ARM is low power consumption, while the strength of CISC-based systems is raw speed. Speed is kind of what you want when it comes to an online game server, especially one working with BYOND, as ARM server architecture is only pulling ahead of standard processors because they specialize in lots and lots of very small cores all jammed into low-draw boxes, and DM is single core.

Unless I'm totally ignorant of what's going on in the tech world, of course.
In response to Ter13
Ter13 wrote:
Also, maybe I'm just too old for this shit, but is an ARM-based server ever going to be a benefit to any BYOND user?

Maybe it's just me being out of touch or I'm just not understanding the conversation, but why do an ARM build at all? Seems to me the market is too small, and the strength of ARM is low power consumption, while the strength of CISC-based systems is raw speed. Speed is kind of what you want when it comes to an online game server, especially one working with BYOND, as ARM server architecture is only pulling ahead of standard processors because they specialize in lots and lots of very small cores all jammed into low-draw boxes, and DM is single core.

Unless I'm totally ignorant of what's going on in the tech world, of course.

ARM is on a rise, honestly. I can get a bare metal ARM server from Scaleway: 4-core @ 1.3 GHz, 2 GB of RAM on a 50 GB SSD, for a little under $5/mo. Low power consumption and, in general, smaller form factors allows for a great business model when you can cram so many of them into a rack and beat or meet the cost of what you had there previously.

This started because we would like to do hosting on some ARM servers, including the couple of Raspberry Pis I have or the ARM servers that Hikato has.
In response to Audeuro
Audeuro wrote:
ARM is on a rise, honestly. I can get a bare metal ARM server from Scaleway: 4-core @ 1.3 GHz, 2 GB of RAM on a 50 GB SSD, for a little under $5/mo. Low power consumption and, in general, smaller form factors allows for a great business model when you can cram so many of them into a rack and beat or meet the cost of what you had there previously.

This started because we would like to do hosting on some ARM servers, including the couple of Raspberry Pis I have or the ARM servers that Hikato has.

From what I've seen Scaleway servers don't provide much in terms of computing power, whereas BYOND can bring a high-end Haswell to its knees. It could work out for smaller games though.
In response to Tobba
Tobba wrote:
From what I've seen Scaleway servers don't provide much in terms of computing power, whereas BYOND can bring a high-end Haswell to its knees. It could work out for smaller games though.

This is probably true, but the kinds of games I generally host are smaller games where it wouldn't be much of an issue- along the lines of Murder Mansion.

My general hope is that ARM popularity continues to increase and AArch64 chips become more and more popular in the server arena.
In response to Audeuro
That seems to be the trend more recently, smaller size, low power consumption is all the rage in pc hardware these days.

Even gaming computers are coming prestocked with energy efficiency power options that require turning off before your PC will utilize its full power. All the parts will keep getting smaller, too (that should of been obvious for awhile now, though).
Page: 1 2 3 4