Friday Facts #203 - Logistic buffer chest

Regular reports on Factorio development.
ratchetfreak
Filter Inserter
Filter Inserter
Posts: 952
Joined: Sat May 23, 2015 12:10 pm
Contact:

Re: Friday Facts #203 - Logistic buffer chest

Post by ratchetfreak »

seePyou wrote:"The memory transfer speed itself is not that slow, but the waiting (latency) time between ordering and receiving it is. "

Doesn't that describe the memory value "CAS Latency" ? Or am I wrong? If I'm not wrong, why have memory modules gone to such a high CAS latency value in this day and age? I am a senior in the world of PC and gaming, so I do remember the times when memory modules with 4 CAS latency were prized! Now they are non-existent.

What happened?
there is more to it than that.

CAS refers to reads withing the same row in the DRAM bank (data local to the previous read). Once you switch rows you need to take into account the row switch itself. In random unpredictable accesses this will start dominating.

https://en.wikipedia.org/wiki/CAS_latency
Because memory modules have multiple internal banks, and data can be output from one during access latency for another, the output pins can be kept 100% busy regardless of the CAS latency through pipelining; the maximum attainable bandwidth is determined solely by the clock speed. Unfortunately, this maximum bandwidth can only be attained if the address of the data to be read is known long enough in advance; if the address of the data being accessed is not predictable, pipeline stalls can occur, resulting in a loss of bandwidth. For a completely unknown memory access (AKA Random access), the relevant latency is the time to close any open row, plus the time to open the desired row, followed by the CAS latency to read data from it. Due to spatial locality, however, it is common to access several words in the same row. In this case, the CAS latency alone determines the elapsed time.
seePyou
Fast Inserter
Fast Inserter
Posts: 103
Joined: Mon Apr 03, 2017 3:17 pm
Contact:

Re: Friday Facts #203 - Logistic buffer chest

Post by seePyou »

Even so, my question remains :)

Why did RAM Module latencies raise so much over the years?
ratchetfreak
Filter Inserter
Filter Inserter
Posts: 952
Joined: Sat May 23, 2015 12:10 pm
Contact:

Re: Friday Facts #203 - Logistic buffer chest

Post by ratchetfreak »

seePyou wrote:Even so, my question remains :)

Why did RAM Module latencies raise so much over the years?
It's not that they raised, the timings on the table in the wikipedia article indicates that the absolute times have stagnated.

It's more that the clock speeds have increased which means that the cas latency which is relative to the clock speed has increased.

But the higher clock means that more memory commands can be sent and have more operations in flight instead of just the single operation.
seePyou
Fast Inserter
Fast Inserter
Posts: 103
Joined: Mon Apr 03, 2017 3:17 pm
Contact:

Re: Friday Facts #203 - Logistic buffer chest

Post by seePyou »

According to the wikipedia entry, the best memory would be the DDR3-2200, which has the best first, fourth AND eighth word timing of all memory types. Is that a correct way to look at it?

Further complicating the issue is that DDR3 is "better" than DDR4 in this regard, and furthermore weirdly, the DDR3-2200 is below the average of the data rate (the avrg being 2414). I'm lost :)

What is important here, in this forum, what memory should I have for playing Factorio with the most UPS?
Cisz
Inserter
Inserter
Posts: 39
Joined: Mon May 09, 2016 6:41 am
Contact:

Re: Friday Facts #203 - Logistic buffer chest

Post by Cisz »

Just as I try to logistics/combinator my way through the chest issue, help is on the horizon. :D

I do it like this (and it is somewhat working):

-I have 1 requester chest per item type to buffer, requesting a small amount of, say, laser turrets, but more than 1. Eg. 10 requested. This will be filled over time, and does not drain my 1-2k laser turret stash.
-Then I have a inserter put 1 of them into a long term storage chest, if if none of that type are in there. (Stack size of inserter limited to one, using a short red wire to tell the inserter if the chest has zero lasers).
-Now, in the long term, the requester chest will contain 10, and the storage chest will contain 1 of each item type I set up like this. If I deconstruct nearby, this storage chest should be used, because:

Contruction bots should use the nearest availabe storage chest that has at least 1 of the item type allready in it. (Assuming there are no requests of higher priority.)

This does work sometimes. Apperently the bots have a bad memory and sometimes will make some long range storage deliveries before using the close option.

But, in general, if I don't rely on it totally, and account for some mistakes, and don't make any big orders before being sure the bots know about the close chests, it greatly reduces my delivery time.

Image

I mark the buffers by including a turret and placing them obvious in the power grid, so I can remove the unused ones or fill in gaps easily.
Blueprint String
JohnyDL
Filter Inserter
Filter Inserter
Posts: 535
Joined: Fri May 16, 2014 3:44 pm
Contact:

Re: Friday Facts #203 - Logistic buffer chest

Post by JohnyDL »

You end up with Looping of items like that not requesting at distance, try this

Items flow left to right you set the constant combinator with what you want requested the arathmetic to Each * -1 => Each, and the requestor to set requests from circuit network
Attachments
Buffer Chest.PNG
Buffer Chest.PNG (351.37 KiB) Viewed 6825 times
fregate84
Fast Inserter
Fast Inserter
Posts: 235
Joined: Sun Jun 22, 2014 10:56 am
Contact:

Re: Friday Facts #203 - Logistic buffer chest

Post by fregate84 »

seePyou wrote:
What is important here, in this forum, what memory should I have for playing Factorio with the most UPS?

very good question !
kovarex
Factorio Staff
Factorio Staff
Posts: 8207
Joined: Wed Feb 06, 2013 12:00 am
Contact:

Re: Friday Facts #203 - Logistic buffer chest

Post by kovarex »

fregate84 wrote:
seePyou wrote:
What is important here, in this forum, what memory should I have for playing Factorio with the most UPS?

very good question !
The one with the smallest latency.
Cisz
Inserter
Inserter
Posts: 39
Joined: Mon May 09, 2016 6:41 am
Contact:

Re: Friday Facts #203 - Logistic buffer chest

Post by Cisz »

JohnyDL wrote:You end up with Looping of items like that not requesting at distance
In my method? No, no looping to speak of. As soon as there are 11 items, the carrying stops (which is really quick in my experience). I think this is because while the item is transferred by the inserter, a replacement is choosen from somewhere else before the inserter places it in the chest. Try for yourself. :)

Edit: Coming to think of it, you are totally right and it really should loop, but for some weird glitch it doesn't for me. ;)
JohnyDL
Filter Inserter
Filter Inserter
Posts: 535
Joined: Fri May 16, 2014 3:44 pm
Contact:

Re: Friday Facts #203 - Logistic buffer chest

Post by JohnyDL »

1 really isn't all the buffer some places need but I am thinking there may be a third solution using a non logistics crate or two extra inverters and more logic but my guess is it will be messy
feildmaster
Burner Inserter
Burner Inserter
Posts: 12
Joined: Fri Nov 04, 2016 11:28 am
Contact:

Re: Friday Facts #203 - Logistic buffer chest

Post by feildmaster »

I thought the buffer chest was supposed to allow "Buffer -> Requester." I've found that it does not let items get pulled from the buffer chests.

EDIT: This has the added "benefit" of screwing up the logistic network if you have it set to make X into the network. The contents count towards the network, so it stops making them, but you can't use the items for requester chests... only for construction and personal logistics (Which is the description of the chest)

Image

Image

This system is also pointless with the current implementation:
Image
User avatar
_alphaBeta_
Inserter
Inserter
Posts: 46
Joined: Fri Jul 29, 2016 3:27 am
Contact:

Re: Friday Facts #203 - Logistic buffer chest

Post by _alphaBeta_ »

feildmaster wrote:I thought the buffer chest was supposed to allow "Buffer -> Requester." I've found that it does not let items get pulled from the buffer chests.
I was about to say that's not how it's supposed to work, so it's probably a bug, and then I found the bug thread where the devs say they intentionally changed the behavior. :roll:

EDIT: According to this post, which links to a Reddit post, this change is not necessarily permanent. Whew.

feildmaster wrote:EDIT: This has the added "benefit" of screwing up the logistic network if you have it set to make X into the network. The contents count towards the network, so it stops making them, but you can't use the items for requester chests... only for construction and personal logistics (Which is the description of the chest)
Hmm, you may want to mention the bit about counting towards the logistic network on a new bug thread. Not sure how much the "not a bug" threads are really monitored once the devs classify them this way. Perhaps you've found a complication with making that change that the devs didn't consider, and hopefully they won't just remove the counting. Personally, I hope something like this sways the devs back to implementing buffers as the FFF outlined.

Either way, you may also want to discuss further on the new suggestion thread on this.
Last edited by _alphaBeta_ on Thu Dec 14, 2017 7:52 pm, edited 1 time in total.
feildmaster
Burner Inserter
Burner Inserter
Posts: 12
Joined: Fri Nov 04, 2016 11:28 am
Contact:

Re: Friday Facts #203 - Logistic buffer chest

Post by feildmaster »

_alphaBeta_ wrote:
feildmaster wrote:I thought the buffer chest was supposed to allow "Buffer -> Requester." I've found that it does not let items get pulled from the buffer chests.
I was about to say that's not how it's supposed to work, so it's probably a bug, and then I found the bug thread where the devs say they intentionally changed the behavior. :roll:
I'll move discussion there now.
_alphaBeta_ wrote:
feildmaster wrote:EDIT: This has the added "benefit" of screwing up the logistic network if you have it set to make X into the network. The contents count towards the network, so it stops making them, but you can't use the items for requester chests... only for construction and personal logistics (Which is the description of the chest)
Hmm, you may want to mention the bit about counting towards the logistic network on a new bug thread. Not sure how much the "not a bug" threads are really monitored once the devs classify them this way. Perhaps you've found a complication with making that change that the devs didn't consider, and hopefully they won't just remove the counting. Personally, I hope something like this sways the devs back to implementing buffers as the FFF outlined.
I actually like the counting. At the moment the *only* use case I have for the buffer chests is this unintended feature as follows:
  • Request items that are made on a limited basis *and* still count them while in the chest.
For example: I have it so I make up to 500 spare empty barrels. When barrels get emptied they count to the network, as per usual, however when I request barrels I put them in a buffer chest at 100 at a time, before I'd have 100 barrels sitting there not counting to the existing amount. Now they count towards the limit.
Post Reply

Return to “News”