LogiPipes is a significant problem

Discussion in 'Announcements' started by sk89q, Mar 2, 2013.

Tags:
  1. sk89q

    sk89q Administrator
    Staff Member

    Joined:
    Dec 1, 2011
    Messages:
    2,490
    Likes Received:
    1,504
    LogiPipes is now hitting 30-55% of the server's CPU usage.
    Frame borers are using ~16% of the CPU.

    We have to do something drastic about it.
     
  2. Michael

    Michael I'm Mdcouron1996 :)

    Joined:
    Dec 3, 2011
    Messages:
    115
    Likes Received:
    21
    Maybe we should get rid of logistics pipes?
     
  3. hsun324

    hsun324 Programmer, Gamer

    Joined:
    May 14, 2012
    Messages:
    362
    Likes Received:
    90
    That would mean collapsing a major part of 50% of the well off systems on the server, including but not limited to mine, Kris, Nolan, sk, and the GB's logistics systems. A better solution may be to publish the server CPU usage data and enforce a strict limitations upon people people who surpass X% of the CPU usage.

    Another worthy solution is to get people to group up as opposed to having many dispersed bases using up a larger total amount of CPU.
     
  4. Rahau

    Rahau Friendly Neighbor

    Joined:
    Jan 21, 2012
    Messages:
    123
    Likes Received:
    24
    Is the problem logipipes itself, or some misuse of the mod, like Water Mills on the last Alice?
     
  5. hsun324

    hsun324 Programmer, Gamer

    Joined:
    May 14, 2012
    Messages:
    362
    Likes Received:
    90
    SK has a profiling script that tells him EXACTLY what is using what amount of CPU.
     
  6. LGuasso

    LGuasso Community Manager
    Staff Member

    Joined:
    Mar 12, 2012
    Messages:
    465
    Likes Received:
    299
  7. NolanSyKinsley

    NolanSyKinsley IRC lurker

    Joined:
    Nov 2, 2012
    Messages:
    497
    Likes Received:
    179
    I have noticed some odd behavior in logi pipe that are probably contributing a lot to the server stress. One is the pipe that is to keep an inventory stocked, it is constantly activating, even if the inventory is fully stocked.

    The second has to do with crafting pipes and machines. If you request something to be crafted, say dense copper plates, and you request too many of them, in the case of the plates 8, then the input to the machine becomes full and the items keep bouncing around in the pipes back and forth.

    The third is when something goes even a little wrong with it and it clogs up. I believe when it clogs and does not get what it wants and is left in that state would possibly cause a bit of cpu usage.

    My logi pipe system is not that large and for the most part, save for the first example, is inactive 99% of the time. I would be sad to see it go, but I would be happier to see the server perform better to the tune of 50%. I have also seen that logipipes has done a lot of coding and commits recently, I will take a look and see if any of them may help performance, or if they are all minor tweaks.

    As for the frame bores, it may or may not help, but you can decrease the maximum number of movable blocks from 1000 to say 500. Then again this would just instigate people to make more bores, but the two bores would not be moving at the same exact time, so it may help a little.
     
  8. NolanSyKinsley

    NolanSyKinsley IRC lurker

    Joined:
    Nov 2, 2012
    Messages:
    497
    Likes Received:
    179
    lol, I'm "well off"? I don't even have a gravi suit yet o_O
     
  9. gknova61

    gknova61 Farbes Lover

    Joined:
    Mar 17, 2012
    Messages:
    1,238
    Likes Received:
    350
    You can use Crafting MK III's, Nolan to get around that (they have a buffer themselves and craft faster). As for bores, you're right. Decreasing the max link will just cause people to make more bores (can be made to move in sync) which could just cause more lag.
     
  10. Fractureskull

    Fractureskull The Expertest

    Joined:
    Feb 11, 2012
    Messages:
    66
    Likes Received:
    15
    I would miss logistics pipes. Making all those sorting machines wouldn't be that fun.
     
  11. hsun324

    hsun324 Programmer, Gamer

    Joined:
    May 14, 2012
    Messages:
    362
    Likes Received:
    90
    Compared to alot of people: Yes.
    :/ Diamond for what a relay can do, psh.
    I agree.

    On another note, a good alternative (in terms of CPU load) would be Applied Energistics. It looks like it would be less intensive, but it is in development, which means constant updates. AE also solves many of the pipe bouncing and overflow issues that LP has ATM.
     
  12. gknova61

    gknova61 Farbes Lover

    Joined:
    Mar 17, 2012
    Messages:
    1,238
    Likes Received:
    350
    Yea, try it with relays ;) Ya know, those blocks that cause fps lag when you have too many of them :p

    We should've had Infinitubes to begin with...
     
  13. zevos

    zevos icublock

    Joined:
    Mar 19, 2012
    Messages:
    135
    Likes Received:
    43
    the suppliers that passively have to scan an entire massive system for one object take quite a bit out of the server. Maybe restrict the usage of some of more demanding pipes?
     
  14. sk89q

    sk89q Administrator
    Staff Member

    Joined:
    Dec 1, 2011
    Messages:
    2,490
    Likes Received:
    1,504
    I got permission for Applied Energetics about two weeks ago and I almost added it last update, but I didn't get a chance to test it. I probably will install it the next time around.

    But I am not sure what to do about frame borers. It is possible to "ban them" outright, but that's a terrible thing to do and I am trying to avoid that.
     
  15. sk89q

    sk89q Administrator
    Staff Member

    Joined:
    Dec 1, 2011
    Messages:
    2,490
    Likes Received:
    1,504
    Yeah, I've heavily opposed to suppliers, but I don't know if I can disable them easily. Might have to recompile LogiPipes.

    Also, checking usage data is a losing battle. There are too many people and it's not possible to handle the cases one by one.
     
  16. hsun324

    hsun324 Programmer, Gamer

    Joined:
    May 14, 2012
    Messages:
    362
    Likes Received:
    90
    :D I eliminated nearly 14 suppliers from my system today after seeing this post.

    PS: I hove AE gets installed because it overcomes some big issues that exist with LP, especially the issues with load balancing and sharing of resources. + Instant access is good rite sk?
     
  17. Neonbeta

    Neonbeta Person who did stuff and things

    Joined:
    Mar 2, 2012
    Messages:
    2,603
    Likes Received:
    757
    I would definitely agree that AE would be a good solution instead of having Logipipes, when it comes to load balancing. But keep in mind that AE is still a very new mod, so it's still got a way to go in terms or balancing and what-not. That's why I would suggest waiting until it's in more of a completed stage.

    When it comes to LogiPipes, I would just suggest making it a rule to have all suppliers able to be turned off and maybe other stuff as well.
     
  18. xDigitalWonton

    xDigitalWonton IGN: gte6495

    Joined:
    Jul 22, 2012
    Messages:
    4
    Likes Received:
    0
    One thing you may need to think about is adding an AFK-kicking timer. At any given time 10-15% or even more of the people playing are just AFK sitting by their automated machines. Maybe instill a 10-minute-with-no-actions AFK kick?

    The only people that this could bother would be the people who purposely go AFK, because it's not a big deal to be disconnected unless you're waiting for something.
     
  19. hsun324

    hsun324 Programmer, Gamer

    Joined:
    May 14, 2012
    Messages:
    362
    Likes Received:
    90
    AFK kicking timer = People running bots that rejoin them after they get kicked.
    Better Solution: CPU allocation reduction for AFK person's chunks.
     
    thtredstonegui and xXMadNessXx like this.
  20. xDigitalWonton

    xDigitalWonton IGN: gte6495

    Joined:
    Jul 22, 2012
    Messages:
    4
    Likes Received:
    0
    Well, it should be quite obvious as to who is constantly on the server, that they would be using a little script to keep them connected, and more serious actions should be taken against them? If world anchors are disabled for a reason past a certain server load, then allowing players to just do it manually is pretty lame.

    Who knows, I'm not a 100+ regular player server owner :p