From 81a939ece431b9353858f06651d3cd41fb4e0eb7 Mon Sep 17 00:00:00 2001 From: "Shuhao Zhang (Tony)" Date: Sat, 29 Aug 2026 22:07:48 +0800 Subject: [PATCH 1/2] paper: add GRACE evidence contract --- paper/advisor_review/.gitignore | 4 + paper/advisor_review/BUILD.md | 7 + paper/advisor_review/BUILD_TRANSCRIPT.txt | 15 + paper/advisor_review/Makefile | 6 + paper/advisor_review/main.log | 346 ++++++++++++++++++++++ paper/advisor_review/main.pdf | Bin 0 -> 47297 bytes paper/advisor_review/main.tex | 66 +++++ paper/advisor_review/references.bib | 3 + 8 files changed, 447 insertions(+) create mode 100644 paper/advisor_review/.gitignore create mode 100644 paper/advisor_review/BUILD.md create mode 100644 paper/advisor_review/BUILD_TRANSCRIPT.txt create mode 100644 paper/advisor_review/Makefile create mode 100644 paper/advisor_review/main.log create mode 100644 paper/advisor_review/main.pdf create mode 100644 paper/advisor_review/main.tex create mode 100644 paper/advisor_review/references.bib diff --git a/paper/advisor_review/.gitignore b/paper/advisor_review/.gitignore new file mode 100644 index 0000000..20d3908 --- /dev/null +++ b/paper/advisor_review/.gitignore @@ -0,0 +1,4 @@ +main.aux +main.bbl +main.blg +main.out diff --git a/paper/advisor_review/BUILD.md b/paper/advisor_review/BUILD.md new file mode 100644 index 0000000..7a47e4d --- /dev/null +++ b/paper/advisor_review/BUILD.md @@ -0,0 +1,7 @@ +# Build + +This independent advisor draft does not replace the accepted GRACE manuscript. + +```text +PATH=/home/shuhao/.conda/envs/neuromem/bin:$PATH make pdf +``` diff --git a/paper/advisor_review/BUILD_TRANSCRIPT.txt b/paper/advisor_review/BUILD_TRANSCRIPT.txt new file mode 100644 index 0000000..556488b --- /dev/null +++ b/paper/advisor_review/BUILD_TRANSCRIPT.txt @@ -0,0 +1,15 @@ +Script started on 2026-08-29 22:06:22+08:00 [] +tectonic --keep-intermediates --keep-logs main.tex +Running TeX ... +Running BibTeX on main.aux ... +Rerunning TeX because bibtex was run ... +Rerunning TeX because "main.aux" changed ... +Running xdvipdfmx ... +Writing `main.bbl` (653 B) +Writing `main.out` (1.1953125 KiB) +Writing `main.pdf` (46.1884765625 KiB) +Writing `main.blg` (191 B) +Writing `main.log` (11.3818359375 KiB) +Writing `main.aux` (2.2236328125 KiB) + +Script done on 2026-08-29 22:06:24+08:00 [COMMAND_EXIT_CODE="0"] diff --git a/paper/advisor_review/Makefile b/paper/advisor_review/Makefile new file mode 100644 index 0000000..235235c --- /dev/null +++ b/paper/advisor_review/Makefile @@ -0,0 +1,6 @@ +TECTONIC ?= tectonic +.PHONY: pdf clean +pdf: + $(TECTONIC) --keep-intermediates --keep-logs main.tex +clean: + rm -f main.aux main.bbl main.blg main.log main.out main.pdf diff --git a/paper/advisor_review/main.log b/paper/advisor_review/main.log new file mode 100644 index 0000000..d30f992 --- /dev/null +++ b/paper/advisor_review/main.log @@ -0,0 +1,346 @@ +** +(main.tex +LaTeX2e <2021-11-15> patch level 1 +L3 programming layer <2022-02-24> (article.cls +Document Class: article 2021/10/04 v1.4n Standard LaTeX document class +(size10.clo +File: size10.clo 2021/10/04 v1.4n Standard LaTeX file (size option) +) +\c@part=\count181 +\c@section=\count182 +\c@subsection=\count183 +\c@subsubsection=\count184 +\c@paragraph=\count185 +\c@subparagraph=\count186 +\c@figure=\count187 +\c@table=\count188 +\abovecaptionskip=\skip47 +\belowcaptionskip=\skip48 +\bibindent=\dimen138 +) (geometry.sty +Package: geometry 2020/01/02 v5.9 Page Geometry + (keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks16 +) (ifvtex.sty +Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. + (iftex.sty +Package: iftex 2022/02/03 v1.0f TeX engine tests +)) +\Gm@cnth=\count189 +\Gm@cntv=\count190 +\c@Gm@tempcnt=\count191 +\Gm@bindingoffset=\dimen139 +\Gm@wd@mp=\dimen140 +\Gm@odd@mp=\dimen141 +\Gm@even@mp=\dimen142 +\Gm@layoutwidth=\dimen143 +\Gm@layoutheight=\dimen144 +\Gm@layouthoffset=\dimen145 +\Gm@layoutvoffset=\dimen146 +\Gm@dimlist=\toks17 +) +(booktabs.sty +Package: booktabs 2020/01/12 v1.61803398 Publication quality tables +\heavyrulewidth=\dimen147 +\lightrulewidth=\dimen148 +\cmidrulewidth=\dimen149 +\belowrulesep=\dimen150 +\belowbottomsep=\dimen151 +\aboverulesep=\dimen152 +\abovetopsep=\dimen153 +\cmidrulesep=\dimen154 +\cmidrulekern=\dimen155 +\defaultaddspace=\dimen156 +\@cmidla=\count192 +\@cmidlb=\count193 +\@aboverulesep=\dimen157 +\@belowrulesep=\dimen158 +\@thisruleclass=\count194 +\@lastruleclass=\count195 +\@thisrulewidth=\dimen159 +) (tabularx.sty +Package: tabularx 2020/01/15 v2.11c `tabularx' package (DPC) + (array.sty +Package: array 2021/10/04 v2.5f Tabular extension package (FMi) +\col@sep=\dimen160 +\ar@mcellbox=\box50 +\extrarowheight=\dimen161 +\NC@list=\toks18 +\extratabsurround=\skip49 +\backup@length=\skip50 +\ar@cellbox=\box51 +) +\TX@col@width=\dimen162 +\TX@old@table=\dimen163 +\TX@old@col=\dimen164 +\TX@target=\dimen165 +\TX@delta=\dimen166 +\TX@cols=\count196 +\TX@ftn=\toks19 +) (enumitem.sty +Package: enumitem 2019/06/20 v3.9 Customized lists +\labelindent=\skip51 +\enit@outerparindent=\dimen167 +\enit@toks=\toks20 +\enit@inbox=\box52 +\enit@count@id=\count197 +\enitdp@description=\count198 +) (microtype.sty +Package: microtype 2022/03/14 v3.0d Micro-typographical refinements (RS) + +(etoolbox.sty +Package: etoolbox 2020/10/05 v2.5k e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count199 +) +\MT@toks=\toks21 +\MT@tempbox=\box53 +\MT@count=\count266 +LaTeX Info: Redefining \noprotrusionifhmode on input line 1027. +LaTeX Info: Redefining \leftprotrusion on input line 1028. +LaTeX Info: Redefining \rightprotrusion on input line 1036. +LaTeX Info: Redefining \textls on input line 1195. +\MT@outer@kern=\dimen168 +LaTeX Info: Redefining \textmicrotypecontext on input line 1781. +\MT@listname@count=\count267 + (microtype-xetex.def +File: microtype-xetex.def 2022/03/14 v3.0d Definitions specific to xetex (RS) +LaTeX Info: Redefining \lsstyle on input line 236. +) +Package microtype Info: Loading configuration file microtype.cfg. + (microtype.cfg +File: microtype.cfg 2022/03/14 v3.0d microtype main configuration file (RS) +)) (hyperref.sty +Package: hyperref 2022-02-21 v7.00n Hypertext links for LaTeX + +(ltxcmds.sty +Package: ltxcmds 2020-05-10 v1.25 LaTeX kernel commands for general use (HO) +) (pdftexcmds.sty +Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO +) + (infwarerr.sty +Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) +) +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode not found. +) (kvsetkeys.sty +Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO) +) +(kvdefinekeys.sty +Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) +) (pdfescape.sty +Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO) +) (hycolor.sty +Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO) +) (letltxmacro.sty +Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO) +) (auxhook.sty +Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) +) (kvoptions.sty +Package: kvoptions 2020-10-07 v3.14 Key value format for package options (HO) +) +\@linkdim=\dimen169 +\Hy@linkcounter=\count268 +\Hy@pagecounter=\count269 + (pd1enc.def +File: pd1enc.def 2022-02-21 v7.00n Hyperref: PDFDocEncoding definition (HO) +) (intcalc.sty +Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO) +) (etexcmds.sty +Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO) +) +\Hy@SavedSpaceFactor=\count270 + (puenc.def +File: puenc.def 2022-02-21 v7.00n Hyperref: PDF Unicode definition (HO) +) +Package hyperref Info: Hyper figures OFF on input line 4137. +Package hyperref Info: Link nesting OFF on input line 4142. +Package hyperref Info: Hyper index ON on input line 4145. +Package hyperref Info: Plain pages OFF on input line 4152. +Package hyperref Info: Backreferencing OFF on input line 4157. +Package hyperref Info: Implicit mode ON; LaTeX internals redefined. +Package hyperref Info: Bookmarks ON on input line 4390. +\c@Hy@tempcnt=\count271 + +(url.sty +\Urlmuskip=\muskip16 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 4749. +\XeTeXLinkMargin=\dimen170 + (bitset.sty +Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) + (bigintcalc.sty +Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO +) +)) +\Fld@menulength=\count272 +\Field@Width=\dimen171 +\Fld@charsize=\dimen172 +Package hyperref Info: Hyper figures OFF on input line 6027. +Package hyperref Info: Link nesting OFF on input line 6032. +Package hyperref Info: Hyper index ON on input line 6035. +Package hyperref Info: backreferencing OFF on input line 6042. +Package hyperref Info: Link coloring OFF on input line 6047. +Package hyperref Info: Link coloring with OCG OFF on input line 6052. +Package hyperref Info: PDF/A mode OFF on input line 6057. +LaTeX Info: Redefining \ref on input line 6097. +LaTeX Info: Redefining \pageref on input line 6101. + (atbegshi-ltx.sty +Package: atbegshi-ltx 2021/01/10 v1.0c Emulation of the original atbegshi +package with kernel methods +) +\Hy@abspage=\count273 +\c@Item=\count274 +\c@Hfootnote=\count275 +) +Package hyperref Info: Driver (autodetected): hxetex. + (hxetex.def +File: hxetex.def 2022-02-21 v7.00n Hyperref driver for XeTeX + +(stringenc.sty +Package: stringenc 2019/11/29 v1.12 Convert strings between diff. encodings (HO +) +) +\pdfm@box=\box54 +\c@Hy@AnnotLevel=\count276 +\HyField@AnnotCount=\count277 +\Fld@listcount=\count278 +\c@bookmark@seq@number=\count279 + (rerunfilecheck.sty +Package: rerunfilecheck 2019/12/05 v1.9 Rerun checks for auxiliary files (HO) + (atveryend-ltx.sty +Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atveryend pac +kage +with kernel methods +) (uniquecounter.sty +Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) +) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 +86. +) +\Hy@SectionHShift=\skip52 +) +(l3backend-xetex.def +File: l3backend-xetex.def 2022-02-07 L3 backend support: XeTeX +\c__kernel_sys_dvipdfmx_version_int=\count280 +\l__color_backend_stack_int=\count281 +\g__color_backend_stack_int=\count282 +\g__graphics_track_int=\count283 +\l__pdf_internal_box=\box55 +\g__pdf_backend_object_int=\count284 +\g__pdf_backend_annotation_int=\count285 +\g__pdf_backend_link_int=\count286 +) (main.aux) +\openout1 = `main.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 9. +LaTeX Font Info: Trying to load font information for TS1+cmr on input line 9 +. + (ts1cmr.fd +File: ts1cmr.fd 2019/12/16 v2.5j Standard LaTeX font definitions +) +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. + +*geometry* driver: auto-detecting +*geometry* detected driver: xetex +*geometry* verbose mode - [ preamble ] result: +* driver: xetex +* paper: +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: +* h-part:(L,W,R)=(36.135pt, 542.02501pt, 36.135pt) +* v-part:(T,H,B)=(36.135pt, 722.7pt, 36.135pt) +* \paperwidth=614.295pt +* \paperheight=794.96999pt +* \textwidth=542.02501pt +* \textheight=722.7pt +* \oddsidemargin=-36.135pt +* \evensidemargin=-36.135pt +* \topmargin=-73.135pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=10.0pt +* \footskip=30.0pt +* \marginparwidth=65.0pt +* \marginparsep=11.0pt +* \columnsep=10.0pt +* \skip\footins=9.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +LaTeX Info: Redefining \microtypecontext on input line 9. +Package microtype Info: Applying patch `item' on input line 9. +Package microtype Info: Applying patch `toc' on input line 9. +Package microtype Info: Applying patch `eqnum' on input line 9. +Package microtype Info: Applying patch `footnote' on input line 9. +Package microtype Info: Character protrusion enabled (level 2). +Package microtype Info: Using default protrusion set `alltext'. +Package microtype Info: No adjustment of tracking. +Package microtype Info: No adjustment of spacing. +Package microtype Info: No adjustment of kerning. +(mt-LatinModernRoman.cfg +File: mt-LatinModernRoman.cfg 2021/02/21 v1.1 microtype config. file: Latin Mod +ern Roman (RS) +) +Package hyperref Info: Link coloring OFF on input line 9. + (nameref.sty +Package: nameref 2021-04-02 v2.47 Cross-referencing by name of section + (refcount.sty +Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO) +) (gettitlestring.sty +Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO) +) +\c@section@level=\count287 +) +LaTeX Info: Redefining \ref on input line 9. +LaTeX Info: Redefining \pageref on input line 9. +LaTeX Info: Redefining \nameref on input line 9. + +(main.out) (main.out) +\@outlinefile=\write3 +\openout3 = `main.out'. + + (mt-cmr.cfg +File: mt-cmr.cfg 2013/05/19 v2.2 microtype config. file: Computer Modern Roman +(RS) +) +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 10. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 10. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 10. + [1 + +] (main.bbl) [2] (main.aux) +Package rerunfilecheck Info: File `main.out' has not changed. +(rerunfilecheck) Checksum: 01530965BF9B559995689888276B5395;1224. + ) +Output written on main.xdv (2 pages, 93792 bytes). diff --git a/paper/advisor_review/main.pdf b/paper/advisor_review/main.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7eb341e95f70896bf163c60529fcb28b93a0c93b GIT binary patch literal 47297 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\raggedright\arraybackslash}p{.22\linewidth}>{\raggedright\arraybackslash}p{.17\linewidth}X@{}} +\toprule Artifact & Level & Admissible statement\\\midrule +Root README & contract/metadata & Records ICDE 2026 acceptance and names three integrations; it is not the accepted manuscript.\\ +Three source trees & implementation presence & Establish code presence only; exact upstream ancestry is not pinned.\\ +Terrace benchmark logs & historical/unbound & May guide recovery, but cannot support a claim without command, exit, hardware, input, and Git identities.\\ +Hosted PPCSR build & host correctness probe & Demonstrates compilation of one integration; not performance or cross-container evidence.\\ +This PDF & derived artifact & Demonstrates only reproducible narrative compilation.\\\bottomrule +\end{tabularx} + +The highest evidence accepted by this draft is implementation presence plus a host build probe. It claims no new number. This is a CPU dynamic-graph topic, so an NPU architecture chain is not applicable; mapping it to an accelerator without a native counterexample and mechanism would be adaptation. + +\section{Two-Week Closure and Ownership} +Week one: the student owner adds reviewed gitlinks or machine-readable upstream commit receipts, freezes workload identities, validates snapshot oracles, and reproduces the strongest original baseline. Week two: the owner runs matched B0--B3/treatment sweeps on at least two containers, emits raw logs and manifests, and applies the frozen gate. Advisor work is limited to this narrative and acceptance criteria; implementation, environment, experiments, debugging, and results remain student-owned. + +\section{Conclusion} +GRACE already has an accepted-paper identity, but its repository must not substitute unbound logs for publication evidence. The next defensible contribution is a predictive and auditable reconstruction boundary. The contract makes both portability and failure informative. + +\bibliographystyle{plain}\bibliography{references} +\end{document} diff --git a/paper/advisor_review/references.bib b/paper/advisor_review/references.bib new file mode 100644 index 0000000..a5f67f3 --- /dev/null +++ b/paper/advisor_review/references.bib @@ -0,0 +1,3 @@ +@inproceedings{wheatman2021ppma,author={Brian Wheatman and Helen Xu},title={A Parallel Packed Memory Array to Store Dynamic Graphs},booktitle={ALENEX},year={2021},pages={31--45},doi={10.1137/1.9781611976472.3}} +@inproceedings{pandey2021terrace,author={Prashant Pandey and Brian Wheatman and Helen Xu and Aydin Buluc},title={Terrace: A Hierarchical Graph Container for Skewed Dynamic Graphs},booktitle={SIGMOD},year={2021},pages={1372--1385},doi={10.1145/3448016.3457313}} +@inproceedings{islam2022vcsr,author={Abdullah Al Raqibul Islam and Dong Dai and Dazhao Cheng},title={{VCSR}: Mutable {CSR} Graph Format Using Vertex-Centric Packed Memory Array},booktitle={CCGrid},year={2022},pages={71--80},doi={10.1109/CCGrid54584.2022.00016}} From c8b06e08bf8beb04a3080814a9eae82e34cde153 Mon Sep 17 00:00:00 2001 From: "Shuhao Zhang (Tony)" Date: Sat, 29 Aug 2026 22:09:32 +0800 Subject: [PATCH 2/2] paper: bind GRACE review artifacts --- paper/advisor_review/MANIFEST.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 paper/advisor_review/MANIFEST.md diff --git a/paper/advisor_review/MANIFEST.md b/paper/advisor_review/MANIFEST.md new file mode 100644 index 0000000..b748519 --- /dev/null +++ b/paper/advisor_review/MANIFEST.md @@ -0,0 +1,32 @@ +# Advisor review artifact manifest + +- Canonical repository: `DataSysResearch/GRACE` +- Source base (`main`): `9f81318ecb12cbb5531034a574f6136f65d6b8e2` +- Artifact commit: `81a939ece431b9353858f06651d3cd41fb4e0eb7` +- Entry/PDF/log: `paper/advisor_review/main.tex`, `main.pdf`, `main.log` +- Build: `PATH=/home/shuhao/.conda/envs/neuromem/bin:$PATH make pdf` +- Tectonic exit: `0`; pages: `2`; warnings: none +- Visual check: both pages rendered with `pdftoppm -png -r 110`; no clipping, overflow, broken glyphs, or unintended blank page. + +## SHA256 + +| Artifact | Digest | +|---|---| +| `main.tex` | `f7061ad54029a43fd9abbfc0d15320441c5218f9366821a0303bd8fbc3deabf6` | +| `references.bib` | `87f2cde98ae936380318169345eb201ec8cde49780b2b4da9bd8b7b7fe1c231d` | +| `main.pdf` | `75f6aef516619c6300629fcc03eed2d8103cbd96aa259e1a8fc7bc0b296f5a8b` | +| `main.log` | `f9ac1cfa6c6e406a0502b0bbbfddf44d02480338cb929495314972158704d511` | +| `BUILD_TRANSCRIPT.txt` | `6693dd56bca155a358d5a94ed3b3c9ce0e3bb29fc52d3d6b9550077db9e7122c` | + +## Test and evidence boundary + +- `git diff --check`: pass. +- PPCSR host build was attempted using the repository CI command, but the host + has no `cmake`; no dependency was installed and no build was claimed. +- Highest accepted evidence: implementation presence plus the repository's + existing hosted PPCSR build probe. Existing benchmark logs are historical and + unbound; no new result is claimed. +- Exact PPCSR, Terrace, and VCSR upstream pins remain missing. The accepted + manuscript is not present, so this independent advisor draft does not replace + or reconstruct its claims. +- Implementation, environment, experiments, and results remain student-owned.