{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2511-00116","title":"LC-Opt: Benchmarking Reinforcement Learning and Agentic AI for End-to-End Liquid Cooling Optimization in Data Centers","arxiv_id":"2511.00116","date":"2025-10-31","proceeding":"NeurIPS","authors":["Avisek Naug","Antonio Guillen","Vineet Kumar","Scott Greenwood","Wesley Brewer","Sahand Ghorbanpour","Ashwin Ramesh Babu","Vineet Gundecha","Ricardo Luna Gutierrez","Soumyendu Sarkar"],"abstract":"Liquid cooling is critical for thermal management in high-density data centers with the rising AI workloads. However, machine learning-based controllers are essential to unlock greater energy efficiency and reliability, promoting sustainability. We present LC-Opt, a Sustainable Liquid Cooling (LC) benchmark environment, for reinforcement learning (RL) control strategies in energy-efficient liquid cooling of high-performance computing (HPC) systems. Built on the baseline of a high-fidelity digital twin of Oak Ridge National Lab's Frontier Supercomputer cooling system, LC-Opt provides detailed Modelica-based end-to-end models spanning site-level cooling towers to data center cabinets and server blade groups. RL agents optimize critical thermal controls like liquid supply temperature, flow rate, and granular valve actuation at the IT cabinet level, as well as cooling tower (CT) setpoints through a Gymnasium interface, with dynamic changes in workloads. This environment creates a multi-objective real-time optimization challenge balancing local thermal regulation and global energy efficiency, and also supports additional components like a heat recovery unit (HRU). We benchmark centralized and decentralized multi-agent RL approaches, demonstrate policy distillation into decision and regression trees for interpretable control, and explore LLM-based methods that explain control actions in natural language through an agentic mesh architecture designed to foster user trust and simplify system management. LC-Opt democratizes access to detailed, customizable liquid cooling models, enabling the ML community, operators, and vendors to develop sustainable data center liquid cooling control solutions.","url_abs":"https://arxiv.org/abs/2511.00116","url_pdf":"https://arxiv.org/pdf/2511.00116","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2511.00116","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2511.00116"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/HewlettPackard/sustain-lc","reach":{"status":"ok","spdx":"MIT"}},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/lbl-srg/modelica-buildings","reach":{"status":"ok"}},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/ORNL-Modelica/TRANSFORM-Library","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":18},"by_repo_kind":{"found_in_text":{"samples":18,"ran":0,"repositories":2}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":15,"samples":[{"code_sha256_prefix":"02969fd6bd3bab41","entry":"ModelicaArray","repo":"lbl-srg/modelica-buildings","repo_kind":"found_in_text","path":"Buildings/Resources/Python-Sources/MakeORCFluidRecord.py","file_url":"https://github.com/lbl-srg/modelica-buildings/blob/HEAD/Buildings/Resources/Python-Sources/MakeORCFluidRecord.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"02969fd6bd3bab41"}},{"code_sha256_prefix":"b3e0cd761553806e","entry":"batchify_observations","repo":"HewlettPackard/sustain-lc","repo_kind":"found_in_text","path":"train_mh_ma_ca_ppo.py","file_url":"https://github.com/HewlettPackard/sustain-lc/blob/HEAD/train_mh_ma_ca_ppo.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b3e0cd761553806e"}},{"code_sha256_prefix":"9eadcd2f213f3203","entry":"categorize_actions","repo":"HewlettPackard/sustain-lc","repo_kind":"found_in_text","path":"train_mh_ma_ca_ppo.py","file_url":"https://github.com/HewlettPackard/sustain-lc/blob/HEAD/train_mh_ma_ca_ppo.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9eadcd2f213f3203"}},{"code_sha256_prefix":"03efa7722ccbe42f","entry":"categorize_actions","repo":"HewlettPackard/sustain-lc","repo_kind":"found_in_text","path":"train_multiagent_ca_ppo.py","file_url":"https://github.com/HewlettPackard/sustain-lc/blob/HEAD/train_multiagent_ca_ppo.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"03efa7722ccbe42f"}},{"code_sha256_prefix":"4d010260697a5cd4","entry":"check_ceiling_height","repo":"lbl-srg/modelica-buildings","repo_kind":"found_in_text","path":"Buildings/Resources/bin/convert_weather_data.py","file_url":"https://github.com/lbl-srg/modelica-buildings/blob/HEAD/Buildings/Resources/bin/convert_weather_data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4d010260697a5cd4"}},{"code_sha256_prefix":"d934f4dc88128fbd","entry":"check_data","repo":"lbl-srg/modelica-buildings","repo_kind":"found_in_text","path":"Buildings/Resources/bin/convert_weather_data.py","file_url":"https://github.com/lbl-srg/modelica-buildings/blob/HEAD/Buildings/Resources/bin/convert_weather_data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d934f4dc88128fbd"}},{"code_sha256_prefix":"84b01c1b2ceb504e","entry":"doStep","repo":"lbl-srg/modelica-buildings","repo_kind":"found_in_text","path":"Buildings/Resources/Python-Sources/GroundResponse.py","file_url":"https://github.com/lbl-srg/modelica-buildings/blob/HEAD/Buildings/Resources/Python-Sources/GroundResponse.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"84b01c1b2ceb504e"}},{"code_sha256_prefix":"43ab74fa2186393b","entry":"doStep","repo":"lbl-srg/modelica-buildings","repo_kind":"found_in_text","path":"Buildings/Resources/Python-Sources/SimpleRoom.py","file_url":"https://github.com/lbl-srg/modelica-buildings/blob/HEAD/Buildings/Resources/Python-Sources/SimpleRoom.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"43ab74fa2186393b"}},{"code_sha256_prefix":"79ad013902016bd0","entry":"filter","repo":"lbl-srg/modelica-buildings","repo_kind":"found_in_text","path":"Buildings/Resources/Python-Sources/KalmanFilter.py","file_url":"https://github.com/lbl-srg/modelica-buildings/blob/HEAD/Buildings/Resources/Python-Sources/KalmanFilter.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"79ad013902016bd0"}},{"code_sha256_prefix":"58d0de272ac8fb78","entry":"find_layer_depth","repo":"lbl-srg/modelica-buildings","repo_kind":"found_in_text","path":"Buildings/Resources/Python-Sources/GroundResponse.py","file_url":"https://github.com/lbl-srg/modelica-buildings/blob/HEAD/Buildings/Resources/Python-Sources/GroundResponse.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"58d0de272ac8fb78"}},{"code_sha256_prefix":"969206225c96104d","entry":"get_html_table","repo":"lbl-srg/modelica-buildings","repo_kind":"found_in_text","path":"Buildings/Resources/src/ThermalZones/EnergyPlus_24_2_0/install.py","file_url":"https://github.com/lbl-srg/modelica-buildings/blob/HEAD/Buildings/Resources/src/ThermalZones/EnergyPlus_24_2_0/install.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"969206225c96104d"}},{"code_sha256_prefix":"2e8e525e15f8f09a","entry":"get_simulation_time","repo":"lbl-srg/modelica-buildings","repo_kind":"found_in_text","path":"Buildings/Resources/bin/convert_weather_data.py","file_url":"https://github.com/lbl-srg/modelica-buildings/blob/HEAD/Buildings/Resources/bin/convert_weather_data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2e8e525e15f8f09a"}},{"code_sha256_prefix":"8a2ef311b9c3f26a","entry":"get_vars_as_json","repo":"lbl-srg/modelica-buildings","repo_kind":"found_in_text","path":"Buildings/Resources/src/ThermalZones/EnergyPlus_24_2_0/install.py","file_url":"https://github.com/lbl-srg/modelica-buildings/blob/HEAD/Buildings/Resources/src/ThermalZones/EnergyPlus_24_2_0/install.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8a2ef311b9c3f26a"}},{"code_sha256_prefix":"dd0614e324a5aa0a","entry":"imitateTemperature","repo":"lbl-srg/modelica-buildings","repo_kind":"found_in_text","path":"Buildings/Resources/Python-Sources/GroundResponse.py","file_url":"https://github.com/lbl-srg/modelica-buildings/blob/HEAD/Buildings/Resources/Python-Sources/GroundResponse.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dd0614e324a5aa0a"}},{"code_sha256_prefix":"7bb4da6b85e81a84","entry":"r1_r1","repo":"lbl-srg/modelica-buildings","repo_kind":"found_in_text","path":"Buildings/Resources/Python-Sources/testFunctions.py","file_url":"https://github.com/lbl-srg/modelica-buildings/blob/HEAD/Buildings/Resources/Python-Sources/testFunctions.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7bb4da6b85e81a84"}},{"code_sha256_prefix":"51658ae1585bef1d","entry":"r1_r2","repo":"lbl-srg/modelica-buildings","repo_kind":"found_in_text","path":"Buildings/Resources/Python-Sources/testFunctions.py","file_url":"https://github.com/lbl-srg/modelica-buildings/blob/HEAD/Buildings/Resources/Python-Sources/testFunctions.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"51658ae1585bef1d"}},{"code_sha256_prefix":"6b596537a3aab96c","entry":"r2_r1","repo":"lbl-srg/modelica-buildings","repo_kind":"found_in_text","path":"Buildings/Resources/Python-Sources/testFunctions.py","file_url":"https://github.com/lbl-srg/modelica-buildings/blob/HEAD/Buildings/Resources/Python-Sources/testFunctions.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6b596537a3aab96c"}},{"code_sha256_prefix":"3c198028edf7a2b3","entry":"random","repo":"lbl-srg/modelica-buildings","repo_kind":"found_in_text","path":"Buildings/Resources/Python-Sources/KalmanFilter.py","file_url":"https://github.com/lbl-srg/modelica-buildings/blob/HEAD/Buildings/Resources/Python-Sources/KalmanFilter.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3c198028edf7a2b3"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_api"},"syntology_extracted_results":{"kind":"leaderboard_placements","source":"Syntology's leaderboard-shaped extractor over the paper's own arXiv-HTML tables: a model pointed at a cell, the number was read from that cell and checked against the board's metric, dataset, split and scale, and an independent check accepted the entry; not reviewed by the paper's authors or the archive's editors","extractor_model":"global.anthropic.claude-sonnet-4-5-20250929-v1:0","verifier_model":null,"prompt_sha":"fa63d4bb9d755694","coverage":{"sentence":"Syntology has checked 6,264 of the 9,581 papers on this site that are newer than the archive; results from the others appear after they are checked.","papers_newer_than_archive":9581,"papers_checked":6264},"entries":[],"not_placed":{"boards":0,"rejected_by_independent_check":0,"refused_by_a_rule":0,"check_did_not_answer":0,"proposed_without_a_cell":0,"declined_by_site":0}}}